zoukankan      html  css  js  c++  java
  • 触发器 (Delete Update)

    --delete触发器
    IF(EXISTS(SELECT * FROM sysobjects WHERE name='T_PlanQtyDelete'))
    DROP TRIGGER T_PlanQtyDelete
    go
    
       Create trigger T_PlanQtyDelete
           On PlanQty
           for Delete
         As
            INSERT INTO dbo.PlanQtyHistory(qty, addDate, Productid)
            SELECT qty, addDate, Productid FROM deleted
    go
     
    --update触发器
    IF(EXISTS(SELECT * FROM sysobjects WHERE name='T_PlanQtyUpdate'))
    DROP TRIGGER T_PlanQtyUpdate
    go
    
    CREATE TRIGGER T_PlanQtyUpdate
        ON PlanQty FOR UPDATE
    AS        
        IF UPDATE(qty)
            BEGIN
                INSERT INTO dbo.PlanQtyHistory(qty, addDate, Productid)        
                SELECT qty, addDate, Productid FROM deleted 
                --deleted  表示修改前的值   inserted 表示修改后的值
            END
        

    deleted:删除之前会先把记录存在这张表里 

    inserted:修改之前会先把记录写在这种表里

    update 会先把记录写入deleted 然后再inserted

    同时 truncate table PlanQty  不会触发  delet触发器 换成delete 

  • 相关阅读:
    UDP协议
    发送大数据文件
    socket
    异常处理
    网络编程
    JupyterStudy——安装与环境部署
    PythonStudy——封装
    PythonStudy——继承、接口、鸭子类型
    PythonStudy——面向对象
    PythonStudy——xml 模块
  • 原文地址:https://www.cnblogs.com/wugang/p/2806810.html
Copyright © 2011-2022 走看看