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

前端之家收集整理的这篇文章主要介绍了ORACLE和TRIGGERS(插入,更新,删除)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在表上使用一个触发器,每次插入,更新或删除一行时,它将被触发。

我写了这样的东西:

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相关文章