日期:2014-05-17  浏览次数:20641 次

oracle触发器
在a表上建立触发器,当往a表中写入数据时,触动插入触发器,把数据写到b表中,并且b表中不存在该条记录
a表的结构d_code(主键),d_name,b表的结构d_code(主键),d_name该表中已经存在一部分数据,麻烦给位该触发器怎么写,非常感谢

------解决方案--------------------
SQL code
/* Formatted on 2011/11/22 10:54 (Formatter Plus v4.8.8) */
CREATE OR REPLACE TRIGGER tri_a_i
   BEFORE INSERT
   ON a
   FOR EACH ROW
DECLARE
   v_count   NUMBER;
BEGIN
   SELECT COUNT (d_code)
     INTO v_count
     FROM b
    WHERE d_code = :NEW.d_code;

   IF v_count = 0
   THEN
      INSERT INTO b
                  (d_code, d_name
                  )
           VALUES (:NEW.d_code, :NEW.d_name
                  );
   END IF;
EXCEPTION
   WHEN OTHERS
   THEN
      NULL;
END;