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

原文地址:https://www.cnblogs.com/liuguanghai/p/3274187.html