Oracle触发器

 

1、新增或修改时,给字段赋值

CREATE OR REPLACE TRIGGER set_id
before insert or update on temp_table
REFERENCING OLD AS OLD NEW AS NEW
for each row
begin
:new.guid :=sys_guid();  --给guid赋值
end;

 

1、CREATE OR REPLACE TRIGGER XXX 创建或者替换xxx触发器
2、FOR EACH ROW 表示在一次操作表的语句中,每操作成功一行就会触发一次;不写的话,表示是表级触发器,则无论操作多少行,都只触发一次;
3、REFERENCING OLD AS OLD NEW AS NEW
本来没什么作用,就是给新旧记录起别名。官方来说:取决于触发器是行级还是语句级触发器。对于行级触发器,REFERENCING OLD 子句允许引用更新或删除之前行中的值,REFERENCING NEW 子句允许引用已插入或更新的值。在 BEFORE 和 AFTER 触发器中可以引用 OLD 和 NEW 行。REFERENCING NEW 子句允许在插入或更新操作发生之前在 BEFORE 触发器中修改新行

posted @ 2022-08-04 11:46  小小娃娃  阅读(184)  评论(0编辑  收藏  举报