最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2012年01月20日 20:19:22   作者:  
平常時寫觸發(fā)器(TRIGGER),一般會分別寫插入(INSERT),刪除(DELETE)和更新(UPDATE)單獨的觸發(fā)器
但是有時候,可以視看處進邏輯程度,可以把三者寫成一個觸發(fā)器,只是在其中稍作判斷而已。

你可以根據(jù)從下面方法判斷觸發(fā)器是是處理了插入,刪除還是更新觸發(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'刪除')


另外有關(guā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ù)。

相關(guān)文章

最新評論

通渭县| 清流县| 五常市| 纳雍县| 行唐县| 栾城县| 大城县| 西贡区| 马公市| 唐山市| 榆林市| 丰镇市| 枣强县| 惠水县| 自贡市| 昌邑市| 宜春市| 武平县| 呼玛县| 房山区| 顺平县| 阳西县| 伊春市| 雷山县| 永州市| 左云县| 蓝山县| 高清| 岳阳市| 杨浦区| 南木林县| 武安市| 济阳县| 繁峙县| 远安县| 青龙| 临海市| 康保县| 青阳县| 长岭县| 高要市|