gpt4 book ai didi

ORACLE 和 TRIGGERS(插入、更新、删除)

转载 作者:行者123 更新时间:2023-12-03 10:46:29 25 4
gpt4 key购买 nike

我想在表上使用触发器,每次插入、更新或删除行时都会触发该触发器。

我写了这样的东西:

CREATE or REPLACE TRIGGER test001
AFTER INSERT OR DELETE OR UPDATE ON tabletest001
REFERENCING OLD AS old_buffer NEW AS new_buffer
FOR EACH ROW WHEN (new_buffer.field1 = 'HBP00')

它有效。
由于我想在插入、更新或删除行时做同样的事情,我想知道触发器中发生了什么。
我想我可以设法找到该行是否已插入或更新(我可以使用 new_buffer 检查 old_buffer)。
我如何知道该行是否已被删除?

最佳答案

来自 Using Triggers :

Detecting the DML Operation That Fired a Trigger

If more than one type of DML operation can fire a trigger (for example, ON INSERT OR DELETE OR UPDATE OF Emp_tab), the trigger body can use the conditional predicates INSERTING, DELETING, and UPDATING to check which type of statement fire the trigger.



所以
IF DELETING THEN ... END IF;

应该适用于您的情况。

关于ORACLE 和 TRIGGERS(插入、更新、删除),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2965521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com