觸發器 (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