1

当数据插入另外两个表(即 table_1 和 table_2 )时,我一直试图在表中动态插入数据,比如 admin 。我只能为一个表而不是多个表获得所需的输出。我如何通过在 oracle 中使用触发器来实现这一点?

4

2 回答 2

0

您需要创建两个单独的INSERT 触发器,一个table_1和另一个table_2将数据插入admin表中。

触发器 1:

CREATE OR REPLACE TRIGGER table_1_after_insert
AFTER INSERT
   ON table_1
   FOR EACH ROW  
BEGIN

   -- Insert record into admin table
   INSERT INTO admin
   ( column1,
     column2,
     column3,
     column4,
     column5 )
   VALUES
   ( :new.column1,
     :new.column2,
     :new.column3,
     :new.column4,
     :new.column5 );

END;
/

触发器 2:

CREATE OR REPLACE TRIGGER table_2_after_insert
AFTER INSERT
   ON table_2
   FOR EACH ROW  
BEGIN

   -- Insert record into admin table
   INSERT INTO admin
   ( column1,
     column2,
     column3,
     column4,
     column5 )
   VALUES
   ( :new.column1,
     :new.column2,
     :new.column3,
     :new.column4,
     :new.column5 );

END;
/
于 2015-10-07T06:25:39.950 回答
0

按照 lalit 的建议在 2 个表上创建 2 个触发器

    CREATE or replace TRIGGER TRG_TAB1
          BEFORE INSERT ON tab1...

... insert into admin (name) values (:new.name) 

在另一张桌子上

    CREATE or replace TRIGGER TRG_TAB2
          BEFORE INSERT ON tab2...
... insert into admin (name) values (:new.name) 
于 2015-10-07T06:13:34.253 回答