我有一個命令在修改表後在oracle觸發器內執行。 我需要這個命令運行一次(即使有100行更新),並且只有當有行更新時。僅當行更新時觸發觸發器
FOR EACH ROW
只有當行更新時才能確保發送命令,那麼我怎麼能在第一次循環後停止執行呢?
我有一個命令在修改表後在oracle觸發器內執行。 我需要這個命令運行一次(即使有100行更新),並且只有當有行更新時。僅當行更新時觸發觸發器
FOR EACH ROW
只有當行更新時才能確保發送命令,那麼我怎麼能在第一次循環後停止執行呢?
使用全局包變量。
1)在更新語句觸發器之前將其重置爲null。
2)保存值/在每一行觸發
3)INC櫃檯做最後的檢查更新語句觸發後,無論解僱你的邏輯精心一旦受影響的行
你正在尋找一個語句級觸發器:'每個statement' –
語句級觸發器將被觸發一次,但即使沒有行更新...我只需確保在實際更新行時發送我的命令 – Djoz
然後使用複合觸發器來計算修改的行數:http://docs.oracle.com/database/121/LNPLS /triggers.htm#CIHGJFAB –