触发器

作者: 一江碎月 | 来源:发表于2017-12-09 20:12 被阅读0次

创建

类似于回调。当指定的表中发生了特定的操作,便会执行触发器中相应的操作
—— 类似于观察者模式。

  1. 触发器只有发生特定操作时才执行。它可以与特定表的 INSERT , UPDATE , DELETE 绑定。

  2. 通过 CREATE TRIGGER 定义一个触发器。 sqlite 的触发器

CREATE TABLE triggerTable(  
     new_id VARCHAR(20),           
     old_id VARCHAR(20)  
);  
CREATE TRIGGER trigger1 AFTER UPDATE ON Orders2  
BEGIN  
    INSERT INTO  triggerTable(new_id,old_id) VALUES(new.[order_num],old.order_num);  -- 当指定的操作发生时,便会将数据存储到相应的表中  
END;  
UPDATE Orders2 SET order_num='xx222x';  
  
DROP TRIGGER trigger1;  -- 删除指定的触发器
  • 通过 CREATE TRIGGER 指定创建的触发器的名字,通过 ON 为触发器绑定表名 —— 只要当这个表发生指定操作时才会启动触发器,别的表发生指定操作则不会。

  • BEGIN 与 END 之间则是触发器的代码。

  • AFTER 表示当操作发生后才执行,也可用 BEFORE 表示在操作执行之前执行触发器。其后只能跟 UPDATE , DELETE 与 INSERT。

  • 触发器代码中通过 new+列名获取修改后的值,old+ 列名获取修改前的值

删除

最后一行用 DROP TRIGGER 删除已建立的触发器。

相关文章

网友评论

      本文标题:触发器

      本文链接:https://www.haomeiwen.com/subject/nirpixtx.html