如何检测触发器是否从插入或更新调用中调用?

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