触发器

作者: 一江碎月 | 来源:发表于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