亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

觸發器中的inserted表和deleted表介紹

2024-07-21 02:43:43
字體:
來源:轉載
供稿:網友

觸發器語句中使用了兩種特殊的表:deleted     表和     inserted     表。Microsoft®     SQL   Server   2000 自動創建和管理這些表??梢允褂眠@兩個臨時的駐留內存的表測試某些數據修改的效果及設置觸發器操作的條件;然而,不能直接對表中的數據進行更改。  
   
    inserted     和     deleted     表主要用于觸發器中:    
   
    擴展表間引用完整性。  
   
    在以視圖為基礎的基表中插入或更新數據。  
   
    檢查錯誤并基于錯誤采取行動。  
    
    找到數據修改前后表狀態的差異,并基于此差異采取行動。    
    Deleted     表用于存儲     DELETE     和     UPDATE     語句所影響的行的復本。在執行     DELETE     或     UPDATE     語句時,行從觸發器表中刪除,并傳輸到     deleted     表中。Deleted     表和觸發器表通常沒有相同的行。  
   
    Inserted     表用于存儲     INSERT     和     UPDATE     語句所影響的行的副本。在一個插入或更新事務處理中,新建行被同時添加到     inserted     表和觸發器表中。Inserted     表中的行是觸發器表中新行的副本。  
   
    更新事務類似于在刪除之后執行插入;首先舊行被復制到     deleted     表中,然后新行被復制到觸發器表和     inserted     表中。  
   
    在設置觸發器條件時,應當為引發觸發器的操作恰當使用     inserted     和     deleted     表。雖然在測試     INSERT     時引用     deleted     表或在測試     DELETE     時引用     inserted     表不會引起任何錯誤,但是在這種情形下這些觸發器測試表中不會包含任何行。  
   
    說明       如果觸發器操作取決于一個數據修改所影響的行數,應該為多行數據修改(基于     SELECT     語句的     INSERT、DELETE     或     UPDATE)使用測試(如檢查     @@ROWCOUNT),然后采取相應的對策。  
   
   
    SQL     Server™     2000     不允許     AFTER     觸發器引用     inserted     和     deleted     表中的     text、ntext     或     image     列;然而,允許     INSTEAD     OF     觸發器引用這些列。有關更多信息,請參見     CREATE     TRIGGER。  
   
    在     INSTEAD     OF     觸發器中使用     inserted     和     deleted     表  
    傳遞到在表上定義的     INSTEAD     OF     觸發器的     inserted     和     deleted     表遵從與傳遞到     AFTER     觸發器的     inserted     和     deleted     表相同的規則。inserted     和     deleted     表的格式與在其上定義     INSTEAD     OF     觸發器的表的格式相同。inserted     和     deleted     表中的每一列都直接映射到基表中的列。    
   
    有關引用帶     INSTEAD     OF     觸發器的表的     INSERT     或     UPDATE     語句何時必須提供列值的規則與表沒有     INSTEAD     OF     觸發器時相同:    
    不能為計算列或具有     timestamp     數據類型的列指定值。    
    不能為具有     IDENTITY     屬性的列指定值,除非該列的     IDENTITY_INSERT     為     ON。當     IDENTITY_INSERT     為     ON     時,INSERT     語句必須提供一個值。    
    INSERT     語句必須為所有無     DEFAULT     約束的     NOT     NULL     列提供值。  
   
    對于除計算列、標識列或     timestamp     列以外的任何列,任何允許空值的列或具有     DEFAULT     定義的     NOT     NULL     列的值都是可選的。    
    當     INSERT、UPDATE     或     DELETE     語句引用具有     INSTEAD     OF     觸發器的視圖時,數據庫引擎將調用該觸發器,而不是對任何表采取任何直接操作。即使為視圖生成的     inserted     和     deleted     表中的信息格式與基表中的數據格式不同,該觸發器在生成執行基表中的請求操作所需的任何語句時,仍必須使用     inserted     和     deleted     表中的信息。  
   
    傳遞到在視圖上定義的     INSTEAD     OF     觸發器的     inserted     和     deleted     表格式與為該視圖定義的     SELECT     語句的選擇列表相匹配。例如:  
   
    CREATE     VIEW     EmployeeNames     (EmployeeID,     LName,     FName)  
    AS  
    SELECT     EmployeeID,     LastName,     FirstName  
    FROM     Northwind.dbo.Employees  
   
    視圖的結果集有三列:一個     int     列和兩個     nvarchar     列。傳遞到在視圖上定義的     INSTEAD     OF     觸發器的     inserted     和     deleted     表也具有名為     EmployeeID     的     int     列、名為     LName     的     nvarchar     列和名為     FName     的     nvarchar     列。  
   
    視圖的選擇列表還包含不直接映射到單個基表列的表達式。一些視圖表達式(如常量調用或函數調用)可能不引用任何列,這類表達式會被忽略。復雜的表達式會引用多列,但在     inserted     和     deleted     表中,每個插入的行僅有一個值。如果視圖中的簡單表達式引用具有復雜表達式的計算列,則這些簡單表達式也有同樣的問題。視圖上的     INSTEAD     OF     觸發器必須處理這些類型的表達式。有關更多信息,請參見視圖上     INSTEAD     OF     觸發器中的表達式和計算列。

順便說一下,當對某張表建立觸發器后,分3種情況討論
1.插入操作(Insert)
Inserted表有數據,Deleted表無數據

2.刪除操作(Delete)
Inserted表無數據,Deleted表有數據

3.更新操作(Update)
Inserted表有數據(新數據),Deleted表有數據(舊數據)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜精品久久久久久久99热浪潮| 亚洲精品一区久久久久久| 亚洲综合国产精品| 国内精品模特av私拍在线观看| 亚洲欧美日韩一区二区三区在线| 久久久久久久国产精品| 日日狠狠久久偷偷四色综合免费| 欧美视频专区一二在线观看| 91色琪琪电影亚洲精品久久| 亚洲欧美在线一区二区| 538国产精品一区二区在线| 成人观看高清在线观看免费| 在线看福利67194| 日韩综合视频在线观看| 中文字幕久久亚洲| 欧美理论电影网| 免费成人高清视频| 日韩一中文字幕| 精品国产精品三级精品av网址| 91精品国产综合久久香蕉| 国产精品va在线播放我和闺蜜| 国产精品第七影院| 91精品国产综合久久久久久久久| 欧美亚州一区二区三区| 久久成人18免费网站| 亚洲xxxx18| 欧美一性一乱一交一视频| 韩国一区二区电影| 日韩美女免费观看| 九九热这里只有精品6| www.xxxx欧美| 欧美最猛性xxxxx(亚洲精品)| 日本亚洲精品在线观看| 日韩电影免费在线观看中文字幕| 精品无码久久久久久国产| 日韩精品久久久久久久玫瑰园| 日韩欧美国产免费播放| 92国产精品久久久久首页| 欧美激情在线一区| 美女视频黄免费的亚洲男人天堂| 成人精品视频久久久久| 亚洲精品suv精品一区二区| 97久久久免费福利网址| 色综合五月天导航| 91免费福利视频| 国产精品久久久久高潮| 亚洲激情中文字幕| 欧洲精品在线视频| 国产精品黄视频| 亚洲精品电影网站| 亚洲精品免费av| 欧美大片在线看| 夜夜嗨av一区二区三区四区| 亚洲色无码播放| 91精品久久久久久久久久| 日本a级片电影一区二区| 成人女保姆的销魂服务| 国产日韩欧美中文在线播放| 国产精品久久99久久| 庆余年2免费日韩剧观看大牛| 亚洲香蕉在线观看| 亚洲a∨日韩av高清在线观看| 日本久久久久久| 青草热久免费精品视频| 国产成人精品免高潮费视频| 国产在线999| 国产99视频在线观看| 亚洲一区二区三区成人在线视频精品| 欧美在线www| 久久九九亚洲综合| 久久久久久久亚洲精品| 国产精品jizz在线观看麻豆| 欧美福利视频在线| 国产91色在线播放| 国内精品一区二区三区| 国产噜噜噜噜噜久久久久久久久| 精品动漫一区二区三区| 九色成人免费视频| 国产精品一区二区电影| 日韩视频在线免费| 成人免费在线视频网站| 97碰在线观看| 久久亚洲综合国产精品99麻豆精品福利| 在线播放国产精品| 亚洲黄色在线观看| 久久精品国产久精国产思思| 亚洲大胆人体av| 日韩欧美精品中文字幕| 国产一区二区动漫| 欧美日韩一区二区免费在线观看| 国产精品一区久久| 91香蕉嫩草影院入口| 亚洲va久久久噜噜噜久久天堂| 国内伊人久久久久久网站视频| 欧美在线播放视频| 欧美性xxxx在线播放| 国产成+人+综合+亚洲欧美丁香花| 夜夜狂射影院欧美极品| 精品福利视频导航| 麻豆一区二区在线观看| 国产精品电影一区| 亚洲白拍色综合图区| 亚洲精品国产精品自产a区红杏吧| 久久久久久久一区二区| 亚洲天天在线日亚洲洲精| 亚洲精品97久久| 日韩精品免费在线视频观看| 日本免费一区二区三区视频观看| 国产欧美日韩视频| 亚洲精品不卡在线| 久久精品视频在线| 国产精品欧美激情在线播放| 51精品国产黑色丝袜高跟鞋| 亚洲片国产一区一级在线观看| 欧美激情第三页| 日韩精品视频免费在线观看| 69av在线播放| 一个色综合导航| 欧美在线免费视频| 欧美xxxx14xxxxx性爽| 福利视频第一区| 国产欧美 在线欧美| 亚洲大胆人体在线| 国产午夜精品一区二区三区| 欧美日韩国产色视频| 国产精品igao视频| 欧美精品999| 97香蕉久久夜色精品国产| 久久精品国产久精国产一老狼| 国产成人97精品免费看片| 欧美一级电影在线| 成人免费网站在线观看| 992tv成人免费视频| 国产精品69久久| 在线看日韩av| 麻豆国产va免费精品高清在线| 久久久久久亚洲| 奇米4444一区二区三区| 欧美日韩国产精品一区| 成人精品一区二区三区电影免费| 国产欧美在线视频| 最近2019中文字幕在线高清| 日本高清不卡在线| 欧美在线不卡区| 成人黄色免费在线观看| 日韩电影视频免费| 色琪琪综合男人的天堂aⅴ视频| 超碰97人人做人人爱少妇| 一区二区欧美亚洲| 欧美极品在线播放| 成人精品一区二区三区电影免费| 中国人与牲禽动交精品| 日韩欧美在线网址| 亚洲永久在线观看| 久久91亚洲精品中文字幕奶水| 欧美在线免费视频| 成人自拍性视频| 911国产网站尤物在线观看| 国产精品国产三级国产专播精品人| 欧亚精品中文字幕| 欧美精品久久久久久久| 国产欧美日韩综合精品| 日韩精品福利在线| 国产亚洲精品久久|