主頁 > 知識庫 > 判斷觸發(fā)器正在處理的是插入,刪除還是更新觸發(fā)

判斷觸發(fā)器正在處理的是插入,刪除還是更新觸發(fā)

熱門標簽:銀川高頻外呼回撥系統(tǒng)多少錢 最新人工智能電銷機器人 如何做地圖標注圖鋪 沒聽見電話機器人幫你接 蘭州語音外呼系統(tǒng)運營商 成都電話外呼系統(tǒng)一般多少錢 數(shù)字匠心電銷機器人 陜西電銷外呼系統(tǒng)好用嗎 al智能電話機器人
但是有時候,可以視看處進邏輯程度,可以把三者寫成一個觸發(fā)器,只是在其中稍作判斷而已。

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

復制代碼 代碼如下:

--宣告兩個變量
DECLARE @D BIT = 0
DECLARE @I BIT = 0

--如果在DELETED內(nèi)部臨時觸發(fā)表找到記錄,說明舊數(shù)據(jù)被刪除
IF EXISTS(SELECT TOP 1 1 FROM DELETED)
SET @D = 1

--如果在INSERTED內(nèi)部臨時觸發(fā)表找到記錄,說明有新數(shù)據(jù)插入
IF EXISTS(SELECT TOP 1 1 FROM INSERTED)
SET @I = 1

--如果兩個表都有記錄,說明觸發(fā)器是執(zhí)行更新觸發(fā)
IF @I = 1 AND @D = 1
PRINT(N'更新。')

--如果變量@I值被變更為1,而變量@D沒有變更,說明觸發(fā)器是執(zhí)行插入觸發(fā)
IF @I = 1 AND @D = 0
PRINT(N'插入')

--下面判斷成立,說明說明觸發(fā)器是執(zhí)行刪除觸發(fā)
IF @I = 0 AND @D = 1
PRINT(N'刪除')


另外有關兩個內(nèi)部臨時觸發(fā)表,觸發(fā)器的Inserted表和Deleted表

觸發(fā)器有兩個虛擬表,Inserted表和Deleted表,這兩個表在不同操作情況之下,表中的數(shù)據(jù)狀態(tài)可不一樣。
一、插入操作(INSERT)時:Inserted表有數(shù)據(jù),Deleted表無數(shù)據(jù)。
二、更新操作(UPDATE)時:Inserted表有數(shù)據(jù)(新數(shù)據(jù)),Deleted表有數(shù)據(jù)(舊數(shù)據(jù))。
三、刪除操作(DELETE)時:Inserted表無數(shù)據(jù),Deleted表有數(shù)據(jù)。
您可能感興趣的文章:
  • sqlserver 觸發(fā)器實例代碼
  • 簡單觸發(fā)器的使用 獻給SQL初學者
  • sqlserver 觸發(fā)器教程
  • SQL Server觸發(fā)器及觸發(fā)器中的事務學習
  • MySQL與SQL的觸發(fā)器的不同寫法
  • sqlserver 禁用觸發(fā)器和啟用觸發(fā)器的語句
  • SQL Server 2000中的觸發(fā)器使用
  • 數(shù)據(jù)庫觸發(fā)器(Trigger)的一點使用心得
  • SQLServer 觸發(fā)器 數(shù)據(jù)庫進行數(shù)據(jù)備份

標簽:通化 朔州 巴彥淖爾 本溪 宜春 鹽城 遼源 邢臺

巨人網(wǎng)絡通訊聲明:本文標題《判斷觸發(fā)器正在處理的是插入,刪除還是更新觸發(fā)》,本文關鍵詞  判斷,觸發(fā)器,正在,處理,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 下面列出與本文章《判斷觸發(fā)器正在處理的是插入,刪除還是更新觸發(fā)》相關的同類信息!
  • 本頁收集關于判斷觸發(fā)器正在處理的是插入,刪除還是更新觸發(fā)的相關信息資訊供網(wǎng)民參考!
  • 推薦文章