oracle触发器示例

来源:互联网 发布:亿赛通加密软件 编辑:程序博客网 时间:2024/06/05 23:52

首先创建触发器日志记录表:

--创建触发器日志记录表CREATE TABLE student_log(    operate_tag VARCHAR2(10),    operate_time DATE);
创建触发器:

--创建触发器,当student表发生插入,删除,更新操作时引起该触发器执行CREATE OR REPLACE TRIGGER tri_student                    BEFORE INSERT OR UPDATE OR DELETE ON studentDeclare  var_tag VARCHAR2(10);  --声明一个变量,存储对student表执行的操作类型BEGIN  IF inserting THEN      --当触发事件是insert时    var_tag:='插入';  ELSIF updating THEN    --当触发事件是update时    var_tag:='更新';  ELSIF deleting THEN    --当触发事件是delete时    var_tag:='删除';  END if;  --向日志表中插入对student表的操作信息  INSERT INTO student_log VALUES(var_tag,SYSDATE);END tri_student;
插入数据:
--插入数据,测试触发器INSERT INTO student VALUES(8,'嘉庆');
查看日志记录表:

--查看日志表记录select * from student_log;  

对于条件谓词,可以在其中判断特定列是否被更新等。

if updating(sname) thendo somthing about updateend if;

原创粉丝点击