如何检测触发器是否从插入或更新调用中调用?
How to detect whether triger is invoked from insert or update call?
我有这样的触发器
CREATE OR REPLACE TRIGGER TEST_TEST1
BEFORE INSERT OR UPDATE
..
如果我进行 sql 插入,我想使用 :new 标志执行 select。像那样
BEGIN
SELECT TEST WHERE id=:new.id
END;
否则,如果我更新了一些东西,我想用 :Old 标志调用。
BEGIN
SELECT TESt WHERE id=:old.id
END;
如何检测更新是否已完成或插入触发器?
您可以使用:
if updating then
....
end if;
if inserting then
....
end if;
有关这方面的更多详细信息,请参阅手册:
https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS750
我有这样的触发器
CREATE OR REPLACE TRIGGER TEST_TEST1
BEFORE INSERT OR UPDATE
..
如果我进行 sql 插入,我想使用 :new 标志执行 select。像那样
BEGIN
SELECT TEST WHERE id=:new.id
END;
否则,如果我更新了一些东西,我想用 :Old 标志调用。
BEGIN
SELECT TESt WHERE id=:old.id
END;
如何检测更新是否已完成或插入触发器?
您可以使用:
if updating then
....
end if;
if inserting then
....
end if;
有关这方面的更多详细信息,请参阅手册:
https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS750