是用INSTEAD OF 來處理的
INSTEAD OF 代表 用你自己的語句控制 來 代替 觸發器的自動DEL動作如:(你隻要用你自己的條件代替以下的(if(1=1))即可,也就是說,隻有滿足你的條件的時候,才會做真正的刪除動作!)注意: 刪除的記錄都會自動保存在 DELETED 表中!
CREATE TRIGGER insteaddel ON [dbo].[test2] 
instead of   DELETE 
AS if(1=1)
 delete   test2
 from deleted as T  
 where test2.tid = T.tid

解决方案 »

  1.   

    假如你要攔住TID=3 的記錄永遠不被刪除,將你的TRIGGER改為:CREATE TRIGGER insteaddel ON [dbo].[test2] 
    instead of   DELETE 
    AS 
     delete   test2
     from deleted as T  
     where test2.tid = T.tid and test2.tid<>3
      

  2.   

    你不能得到TRIGGER的返回值你可以再寫個SQL來驗証以下TRIGGER的執行效果,從而返回你要的返回值。
      

  3.   

    不让删除表数据的触发器
    CREATE TRIGGER insteaddel ON [dbo].[test2] 
    FOR deleted
    ROLLBACK TRANSACTION