【Oracle】创建触发器

创建触发器验证执行删除操作:查询trigger日志表:

plsql版本:13.0.2 Oracle版本:Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

创建触发器

(以删除操作触发器为例)

-- 先创建一个日志表用于存储删除操作的记录

CREATE TABLE tr_log_user_info_del AS SELECT * FROM user_info WHERE 1=2;

alter table tr_log_user_info_del add (trigger_date date);

-- 创建行级的删除操作触发器

CREATE OR REPLACE TRIGGER tr_del_user_info

BEFORE DELETE --指定触发时机为删除操作前触发

ON shop.user_info

FOR EACH ROW --说明创建的是行级触发器

BEGIN

--将删除前数据插入到日志记录表,以供监督使用。

INSERT INTO tr_log_user_info_del(userno , user_name, user_age , trigger_date)

VALUES( :old.userno, :old.user_name, :old.user_age , sysdate);

END;

--select * from tr_log_user_info_del;

--DELETE user_info WHERE userno=3;

--DROP TABLE tr_log_user_info_del;

--DROP TRIGGER tr_del_user_info;

验证

执行删除操作:

DELETE user_info WHERE userno=4;

执行时间为 10:01:11:

查询trigger日志表:

相关链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: