触发器 (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 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM