如何使用oracle中的触发器从另外两个表中的一个表中插入数据

时间:2015-10-07 06:01:30

标签: oracle plsql database-trigger

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

2 个答案:

答案 0 :(得分: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) 

答案 1 :(得分: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;
/