日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

判断触发器正在处理的是插入,删除还是更新触发

發布時間:2025/3/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 判断触发器正在处理的是插入,删除还是更新触发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

平常時寫觸發器(TRIGGER),一般會分別寫插入(INSERT),刪除(DELETE)和更新(UPDATE)單獨的觸發器。

但是有時候,可以視看處進邏輯程度,可以把三者寫成一個觸發器,只是在其中稍作判斷而已。

你可以根據從下面方法判斷觸發器是是處理了插入,刪除還是更新觸發的:

View Code --宣告兩個變量
DECLARE?@D?BIT?=?0
DECLARE?@I?BIT?=?0
?
--如果在DELETED內部臨時觸發表找到記錄,說明舊數據被刪除?
IF?EXISTS(SELECT?TOP?1?1?FROM?DELETED)
????SET?@D?=?1
????
--如果在INSERTED內部臨時觸發表找到記錄,說明有新數據插入?????
IF?EXISTS(SELECT?TOP?1?1?FROM?INSERTED)
????SET?@I?=?1?
?
--如果兩個表都有記錄,說明觸發器是執行更新觸發
IF?@I?=?1?AND?@D?=?1?
????PRINT(N'更新。')

--如果變量@I值被變更為1,而變量@D沒有變更,說明觸發器是執行插入觸發????
IF?@I?=?1?AND?@D?=?0
????PRINT(N'插入')
?
--下面判斷成立,說明說明觸發器是執行刪除觸發????
IF?@I?=?0?AND?@D?=?1
????PRINT(N'刪除')

?

另外有關兩個內部臨時觸發表,可參考:http://www.cnblogs.com/insus/articles/1692418.html

?

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的判断触发器正在处理的是插入,删除还是更新触发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。