如何使用oracle中的触发器从另外两个表中插入数据在另一个表中插入数据
我一直试图在表中插入数据,比如说当管理员动态插入两个其他表中的数据时,即table_1和table_2。我能够得到所需的输出只有一个表,但不是多个表。我如何通过在oracle中使用触发器来实现这一点?如何使用oracle中的触发器从另外两个表中插入数据在另一个表中插入数据
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)
我猜表名应该不同? –
OP希望以其他方式触发table_1和table_2向管理员插入数据。 –
@Moudiz'new.name'将会失败,new应该被引用为':new'。 –
您需要创建两个单独的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;
/
创建两个触发器,一个对TABLE_1等上TABLE_2。 –
并且应用相同的逻辑只是表名将会不同 –
如果只希望在相同的数据同时插入到两个基础表中时插入到ADMIN表中,您能澄清一下您的问题吗? –