我有以下触发器定义
PROMPT CREATE OR REPLACE TRIGGER C_BUSINESS_TABLE
CREATE OR REPLACE TRIGGER C_BUSINESS_TABLE
BEFORE INSERT OR UPDATE OF OC ON OUT_TAB FOR EACH ROW
DECLARE
v_OC OUT_TAB.OC%type;
BEGIN
SELECT OC into v_OC from ORDERS WHERE ORDER_ID=:NEW.ORDER_ID and ORDER_SEQ=:NEW.ORDER_SEQ and rownum=1;
IF :NEW.OC != v_OC and v_OC is not NULL THEN
:NEW.OC:=v_OC;
END IF;
EXCEPTION
WHEN OTHERS THEN NULL;
END;
/
触发器旨在在以下场景中执行
在Trigger Body中,字段OC本身已更新。该更新是否会再次(并递归地)调用触发器?
我是否需要对其进行编码以避免递归?
答案 0 :(得分:2)
没有它赢了,这没关系,当你设置以下值时:NEW.OC这实际上不是更新表,只有在触发代码完成后才会使用你的值更新/插入表设置:NEW.OC到