pl sql 触发器

【触发器和存储过程的区别】

存储过程:必须调用才能执行;

触发器:通过事件触发自动执行;

 

【示范】

实际应用在日志中,比如记录person_table表有哪些行为(数据增加,删除,修改)等,新建一个日志表

字段为:操作人,操作行为,操作时间

CREATE TABLE logtest_table (man VARCHAR(50),edit VARCHAR(100),TIME VARCHAR(99));

给person_table表绑定出发器,把操作行为添加到logtest_table 表中

inserting :监听新增数据的事件
updating :监听修改的数据的事件
deleting:监听删除数据的事件
create or REPLACE  TRIGGER person_t_trigger
AFTER DELETE OR INSERT OR UPDATE ON person_table 
DECLARE
operation  logtest_table.man%TYPE;
BEGIN 
  IF inserting THEN operation:='添加操作';
  ELSIF updating THEN operation:='更新操作';
   ELSIF deleting THEN operation:='删除操作';
   END IF
   INSERT INTO logtest_table VALUES(USER,operation,to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss'));
   
END;
当person_table表中数据发生变化的时候,数据不会自动记录到logtest_table表中 

学习链接:数据库第36讲PLSQL触发器_哔哩哔哩_bilibili
posted @ 2022-02-25 16:25  程序杨%  阅读(92)  评论(0编辑  收藏  举报