對(duì)紀(jì)檢監(jiān)察工作的意見(jiàn)和建議(意見(jiàn)和建議有什么區(qū)別) Matlab2015b軟件安裝教程(matlab2014b安裝教程) 如何申請(qǐng)Apple ID(ipad如何申請(qǐng)apple ID) 南陽(yáng)中招分?jǐn)?shù)線2020(南陽(yáng)中招分?jǐn)?shù)線) photoshop CS4教程(photoshop cs4教程下載) 怎么用手機(jī)下載電子書(shū)(怎么用手機(jī)下載電子書(shū)到mp4) 書(shū)法毛氈是什么(毛氈在書(shū)法中的用途是什么) 手機(jī)QQ 密碼輸入框 不能復(fù)制粘貼解決辦法(qq密碼復(fù)制粘貼不了怎么回事) 微信拍一拍在哪里(微信拍一拍在哪里發(fā)送) 三鼠是什么意思(三叫鼠是什么) 粉紅女郎馬卡龍的做法(馬卡龍粉紅色背景圖片) 王者榮耀雅典娜技能被動(dòng)介紹(王者榮耀雅典娜的被動(dòng)) 一年級(jí)下冊(cè)語(yǔ)文期末考試試卷2023(一年級(jí)下冊(cè)語(yǔ)文) Realtek聲卡沒(méi)聲音的解決辦法(聲卡沒(méi)有realtek) lols7寡婦制造者伊芙琳打野雙修爆炸出裝 晏子使楚翻譯和原文(晏子使楚翻譯) 股指期貨入門(mén):期指貼水是什么意思(股指期貨入門(mén):期指貼水是什么意思呀) 自我反思怎么寫(xiě)學(xué)生(自我反思怎么寫(xiě)) 怎么在百度發(fā)布信息 百度怎么發(fā)動(dòng)態(tài)(百度怎樣發(fā)布消息) 加勒比海盜小提琴曲(雙城變奏中的小提琴曲) 排球的場(chǎng)地如何安排及尺寸大小(排球比賽場(chǎng)地尺寸大小) 手機(jī)殼貼鉆還能這樣DIY 你不知道吧(怎樣貼手機(jī)殼的鉆才能更牢固) 余弦函數(shù)公式大全表格(余弦函數(shù)公式) 如何解決使用打印機(jī)突然提示“尚未安裝打印機(jī)”(尚未安裝打印機(jī)怎么回事) 夢(mèng)幻西游三維版怎么聯(lián)系在線客服(夢(mèng)幻西游三維版客服電話人工服務(wù)電話) 銷(xiāo)售原材料結(jié)轉(zhuǎn)成本的會(huì)計(jì)分錄(銷(xiāo)售原材料會(huì)計(jì)分錄) 手機(jī)如何查詢(xún)東莞住房公積金?(手機(jī)如何查詢(xún)東莞住房公積金貸款額度) 呆萌寵物對(duì)對(duì)碰攻略(萌寵對(duì)決攻略) 工程招標(biāo)代理資質(zhì)取消通知(工程招標(biāo)代理資質(zhì)) 法定節(jié)假日加班工資怎么算(法定節(jié)假加班工資怎么計(jì)算) 駕照理論考試技巧和方法(駕照理論考試技巧和方法口訣) 黃花菜不能和什么食物同吃(黃花菜不能和什么食物一起吃) HTC G12刷recovery教程及進(jìn)入recovery方法(htc如何進(jìn)入recovery) b血型的人有什么特點(diǎn)男(b血型的人有什么特點(diǎn)) Sai軟件手繪簡(jiǎn)筆畫(huà)綠色環(huán)保機(jī)器人(SAI畫(huà)畫(huà)軟件) Their是什么意思中文翻譯怎么讀(their是什么意思) 網(wǎng)上賺錢(qián)創(chuàng)業(yè)方法大全(網(wǎng)上賺錢(qián)創(chuàng)業(yè)方法大全套) 走路賺錢(qián)的幾種方式(走路賺錢(qián)的幾種方式是什么) 紅龍魚(yú)飼養(yǎng)方法(紅龍草) 怎樣增強(qiáng)抵抗力(怎樣增強(qiáng)抵抗力和免疫力) qb怎么轉(zhuǎn)給別人(怎么把qb給別人) 不是花中偏愛(ài)菊此花開(kāi)盡更無(wú)花全詩(shī)拼音(不是花中偏愛(ài)菊此花開(kāi)盡更無(wú)花全詩(shī)) 微信新功能"拍一拍"上線!(微信新功能朋友圈折疊) 現(xiàn)場(chǎng)儀表HART通訊如何接線(hart怎么接線) peacewarfound的英語(yǔ)怎么讀(peace war find怎么讀) q版泡泡堂6怎么換人(q版泡泡堂可以三人嗎) 如何獲得更多渠道商及他們的支持(如何獲得更多渠道商及他們的支持英語(yǔ)) 作文那一次我失敗了(作文那一次我真高興) 圍巾情人扣的織法(圍巾情人扣的織法粗線) 懸崖上的金魚(yú)公主國(guó)語(yǔ)版櫻花動(dòng)漫(懸崖上的金魚(yú)公主國(guó)語(yǔ)版高清)
您的位置:首頁(yè) >綜合精選 >

sql觸發(fā)器語(yǔ)句(sql觸發(fā)器的使用及語(yǔ)法)

導(dǎo)讀 關(guān)于sql觸發(fā)器語(yǔ)句,sql觸發(fā)器的使用及語(yǔ)法這個(gè)問(wèn)題很多朋友還不知道,今天小六來(lái)為大家解答以上的問(wèn)題,現(xiàn)在讓我們一起來(lái)看看吧!1、CREAT

關(guān)于sql觸發(fā)器語(yǔ)句,sql觸發(fā)器的使用及語(yǔ)法這個(gè)問(wèn)題很多朋友還不知道,今天小六來(lái)為大家解答以上的問(wèn)題,現(xiàn)在讓我們一起來(lái)看看吧!

1、CREATE TRIGGER 創(chuàng)建觸發(fā)器,觸發(fā)器是一種特殊的存儲(chǔ)過(guò)程,在用戶(hù)試圖對(duì)指定的表執(zhí)行指定的數(shù)據(jù)修改語(yǔ)句時(shí)自動(dòng)執(zhí)行。

2、Microsoft? SQL Server? 允許為任何給定的 INSERT、UPDATE 或 DELETE 語(yǔ)句創(chuàng)建多個(gè)觸發(fā)器。

3、 語(yǔ)法 CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] { { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS [ { IF UPDATE ( column ) [ { AND | OR } UPDATE ( column ) ] [ ...n ] | IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask ) { comparison_operator } column_bitmask [ ...n ] } ] sql_statement [ ...n ] } } 參數(shù) trigger_name 是觸發(fā)器的名稱(chēng)。

4、觸發(fā)器名稱(chēng)必須符合標(biāo)識(shí)符規(guī)則,并且在數(shù)據(jù)庫(kù)中必須唯一。

5、可以選擇是否指定觸發(fā)器所有者名稱(chēng)。

6、 Table | view 是在其上執(zhí)行觸發(fā)器的表或視圖,有時(shí)稱(chēng)為觸發(fā)器表或觸發(fā)器視圖。

7、可以選擇是否指定表或視圖的所有者名稱(chēng)。

8、 WITH ENCRYPTION 加密 syscomments 表中包含 CREATE TRIGGER 語(yǔ)句文本的條目。

9、使用 WITH ENCRYPTION 可防止將觸發(fā)器作為 SQL Server 復(fù)制的一部分發(fā)布。

10、 AFTER 指定觸發(fā)器只有在觸發(fā) SQL 語(yǔ)句中指定的所有操作都已成功執(zhí)行后才激發(fā)。

11、所有的引用級(jí)聯(lián)操作和約束檢查也必須成功完成后,才能執(zhí)行此觸發(fā)器。

12、 如果僅指定 FOR 關(guān)鍵字,則 AFTER 是默認(rèn)設(shè)置。

13、 不能在視圖上定義 AFTER 觸發(fā)器。

14、 INSTEAD OF 指定執(zhí)行觸發(fā)器而不是執(zhí)行觸發(fā) SQL 語(yǔ)句,從而替代觸發(fā)語(yǔ)句的操作。

15、 在表或視圖上,每個(gè) INSERT、UPDATE 或 DELETE 語(yǔ)句最多可以定義一個(gè) INSTEAD OF 觸發(fā)器。

16、然而,可以在每個(gè)具有 INSTEAD OF 觸發(fā)器的視圖上定義視圖。

17、 INSTEAD OF 觸發(fā)器不能在 WITH CHECK OPTION 的可更新視圖上定義。

18、如果向指定了 WITH CHECK OPTION 選項(xiàng)的可更新視圖添加 INSTEAD OF 觸發(fā)器,SQL Server 將產(chǎn)生一個(gè)錯(cuò)誤。

19、用戶(hù)必須用 ALTER VIEW 刪除該選項(xiàng)后才能定義 INSTEAD OF 觸發(fā)器。

20、 { [DELETE] [,] [INSERT] [,] [UPDATE] } 是指定在表或視圖上執(zhí)行哪些數(shù)據(jù)修改語(yǔ)句時(shí)將激活觸發(fā)器的關(guān)鍵字。

21、必須至少指定一個(gè)選項(xiàng)。

22、在觸發(fā)器定義中允許使用以任意順序組合的這些關(guān)鍵字。

23、如果指定的選項(xiàng)多于一個(gè),需用逗號(hào)分隔這些選項(xiàng)。

24、 對(duì)于 INSTEAD OF 觸發(fā)器,不允許在具有 ON DELETE 級(jí)聯(lián)操作引用關(guān)系的表上使用 DELETE 選項(xiàng)。

25、同樣,也不允許在具有 ON UPDATE 級(jí)聯(lián)操作引用關(guān)系的表上使用 UPDATE 選項(xiàng)。

26、 WITH APPEND 指定應(yīng)該添加現(xiàn)有類(lèi)型的其它觸發(fā)器。

27、只有當(dāng)兼容級(jí)別是 65 或更低時(shí),才需要使用該可選子句。

28、如果兼容級(jí)別是 70 或更高,則不必使用 WITH APPEND 子句添加現(xiàn)有類(lèi)型的其它觸發(fā)器(這是兼容級(jí)別設(shè)置為 70 或更高的 CREATE TRIGGER 的默認(rèn)行為)。

29、有關(guān)更多信息,請(qǐng)參見(jiàn) sp_dbcmptlevel。

30、 WITH APPEND 不能與 INSTEAD OF 觸發(fā)器一起使用,或者,如果顯式聲明 AFTER 觸發(fā)器,也不能使用該子句。

31、只有當(dāng)出于向后兼容而指定 FOR 時(shí)(沒(méi)有 INSTEAD OF 或 AFTER),才能使用 WITH APPEND。

32、以后的版本將不支持 WITH APPEND 和 FOR(將被解釋為 AFTER)。

33、 NOT FOR REPLICATION 表示當(dāng)復(fù)制進(jìn)程更改觸發(fā)器所涉及的表時(shí),不應(yīng)執(zhí)行該觸發(fā)器。

34、 AS 是觸發(fā)器要執(zhí)行的操作。

35、 sql_statement 是觸發(fā)器的條件和操作。

36、觸發(fā)器條件指定其它準(zhǔn)則,以確定 DELETE、INSERT 或 UPDATE 語(yǔ)句是否導(dǎo)致執(zhí)行觸發(fā)器操作。

37、 當(dāng)嘗試 DELETE、INSERT 或 UPDATE 操作時(shí),Transact-SQL語(yǔ)句中指定的觸發(fā)器操作將生效。

38、 觸發(fā)器可以包含任意數(shù)量和種類(lèi)的 Transact-SQL 語(yǔ)句。

39、觸發(fā)器旨在根據(jù)數(shù)據(jù)修改語(yǔ)句檢查或更改數(shù)據(jù);它不應(yīng)將數(shù)據(jù)返回給用戶(hù)。

40、觸發(fā)器中的 Transact-SQL 語(yǔ)句常常包含控制流語(yǔ)言。

41、CREATE TRIGGER 語(yǔ)句中使用幾個(gè)特殊的表: deleted 和 inserted 是邏輯(概念)表。

42、這些表在結(jié)構(gòu)上類(lèi)似于定義觸發(fā)器的表(也就是在其中嘗試用戶(hù)操作的表);這些表用于保存用戶(hù)操作可能更改的行的舊值或新值。

43、例如,若要檢索 deleted 表中的所有值,請(qǐng)使用: SELECT * FROM deleted 如果兼容級(jí)別等于 70,那么在 DELETE、INSERT 或 UPDATE 觸發(fā)器中,SQL Server 將不允許引用 inserted 和 deleted 表中的 text、ntext 或 image 列。

44、不能訪問(wèn) inserted 和 deleted 表中的 text、ntext 和 image 值。

45、若要在 INSERT 或 UPDATE 觸發(fā)器中檢索新值,請(qǐng)將 inserted 表與原始更新表聯(lián)接。

46、當(dāng)兼容級(jí)別是 65 或更低時(shí),對(duì) inserted 或 deleted 表中允許空值的text、ntext 或 image 列,將返回空值;如果這些列不可為空,則返回零長(zhǎng)度字符串。

47、 當(dāng)兼容級(jí)別是 80 或更高時(shí),SQL Server 允許在表或視圖上通過(guò) INSTEAD OF 觸發(fā)器更新 text、ntext 或 image 列。

48、 n 是表示觸發(fā)器中可以包含多條 Transact-SQL 語(yǔ)句的占位符。

49、對(duì)于 IF UPDATE (column) 語(yǔ)句,可以通過(guò)重復(fù) UPDATE (column) 子句包含多列。

50、 IF UPDATE (column) 測(cè)試在指定的列上進(jìn)行的 INSERT 或 UPDATE 操作,不能用于 DELETE 操作。

51、可以指定多列。

52、因?yàn)樵?ON 子句中指定了表名,所以在 IF UPDATE 子句中的列名前不要包含表名。

53、若要測(cè)試在多個(gè)列上進(jìn)行的 INSERT 或 UPDATE 操作,請(qǐng)?jiān)诘谝粋€(gè)操作后指定單獨(dú)的 UPDATE(column) 子句。

54、在 INSERT 操作中 IF UPDATE 將返回 TRUE 值,因?yàn)檫@些列插入了顯式值或隱性 (NULL) 值。

55、 說(shuō)明 IF UPDATE (column) 子句的功能等同于 IF、IF...ELSE 或 WHILE 語(yǔ)句,并且可以使用 BEGIN...END 語(yǔ)句塊。

56、有關(guān)更多信息,請(qǐng)參見(jiàn)控制流語(yǔ)言。

57、 可以在觸發(fā)器主體中的任意位置使用 UPDATE (column)。

58、 column 是要測(cè)試 INSERT 或 UPDATE 操作的列名。

59、該列可以是 SQL Server 支持的任何數(shù)據(jù)類(lèi)型。

60、但是,計(jì)算列不能用于該環(huán)境中。

61、有關(guān)更多信息,請(qǐng)參見(jiàn)數(shù)據(jù)類(lèi)型。

本文分享完畢,希望對(duì)大家有所幫助。

標(biāo)簽:

免責(zé)聲明:本文由用戶(hù)上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!

最新文章