【发布时间】:2013-03-06 15:15:37
【问题描述】:
我想在插入更多行之前创建一个触发器。 在插入新数据之前,我想通过 id 删除早期版本。
例如:
CREATE OR REPLACE TRIGGER mytableTrigger
BEFORE INSERT ALL ON mytable
BEGIN
DELETE FROM mytable WHERE column2 = fooId; --I want to get fooId in here.
END;
INSERT ALL
INTO mytable (column1, column2, column3) VALUES (Seq.nextval(), fooId, 'val1.3')
INTO mytable (column1, column2, column3) VALUES (Seq.nextval(), fooId, 'val2.3')
INTO mytable (column1, column2, column3) VALUES (Seq.nextval(), fooId, 'val3.3')
SELECT * FROM dual;
如果它是一个简单的行级触发器,那么我可以使用 :new.fooId 获取 fooId。 但事实并非如此。 那么,我可以为 INSERT ALL Trigger 获取或提供 id 吗?
谢谢。
【问题讨论】: