【发布时间】:2023-01-24 00:13:17
【问题描述】:
我创建了三个表 A(id、name、date、realnumber、integer)、B(id、name、date、realnumber、integer)和与表 A 相同的 C。它只多了两个列,称为 integerB 和 sequence s .我想创建一个触发器,该触发器将在为每一行输入插入表 B 后触发,以便它保存表 A 的引用行并将表 B 的输入行中的整数添加到表 C 的 integerB 列中。如果该行已存在于表 C 仅应添加 integerB。对于序列 s,下一个值添加到表 A 行的第一个插入中。
我没有那么多地使用触发器,所以当我必须从多个表插入数据时,我不确定如何解决这个问题。这是我的触发器。
CREATE OR REPLACE TRIGGER trig1
AFTER INSERT ON B
FOR EACH ROW
INSERT INTO C (integerB) VALUES (NEW.integer);
INSERT INTO C (id, name, date, realnumber)
SELECT a.id, a.name, a.date, a.realnumber FROM A a;
END;
/
【问题讨论】: