當前位置:首頁 » 編程語言 » sql觸發器insteadof

sql觸發器insteadof

發布時間: 2024-11-05 17:48:04

⑴ instead of instead觸發器是 什麼觸發器啊

INSTEAD OF 觸發器是sql Server 2000 的新添加的功能,AFTER 觸發器等同於以前版本中的觸發器。當為表或視圖定義了針對某一操作(INSERT、 DELETE、 UPDATE) 的INSTEAD OF 類型觸發器且執行了相應的操作時,盡管觸發器被觸發,但相應的操作並不被執行,而運行的僅是觸發器SQL 語句本身。

INSTEAD OF 觸發器的主要優點是使不可被修改的視圖能夠支持修改。其中典型的例子是分割視圖(partitioned view)。為了提高查詢性能,分割視圖通常是一個來自多個表的結果集,但是也正因此而不支持視圖更新。下面的例子說明了如何使用INSTEAD OF觸發器來支持對分割視圖所引用的基本表的修改。

⑵ sql中觸發器instead of 和after的區別是什麼

after觸發器是在操作成功後,所採取的一些動作,而對於instead of觸發器,對資料庫的操作只是
一個「導火線」而已,真正起作用的是觸發器裡面的動作;往往這種觸發器會有很多分支判斷語句在裡面,根據不用的條件做不同的動作觸發器能處理更復雜的約束--簡單的可用級聯及簡單約束來實現。
看看這個就差不多明白了:http://bbs.csdn.net/topics/300074591

⑶ sql語句的觸發器問題,instead of、after、for事件的區別,還有execute as字句的使用。謝謝

after等價於for,是事後觸發。instead of則會取代原來的操作,例如在你的例子里,將不再執行插入操作,而是執行觸發器里的操作。

execute as是用來定義模塊的執行上下文
EXECUTE AS { CALLER | SELF | OWNER | 'user_name' }
其中CALLER指模塊調用方,SELF指創建或更改模塊的用戶,OWNER指模塊的當前所有者, 『user_name』 則是指定的用戶。

熱點內容
資料庫表設計教程 發布:2025-09-16 10:50:47 瀏覽:340
朋友圈緩存如何清除 發布:2025-09-16 10:49:57 瀏覽:438
sqlserver數據類型 發布:2025-09-16 10:41:16 瀏覽:732
如何配置全站時間同步系統 發布:2025-09-16 10:19:13 瀏覽:167
java解析json文件 發布:2025-09-16 10:10:41 瀏覽:968
車配置字母怎麼看 發布:2025-09-16 10:09:32 瀏覽:408
煙台電腦伺服器維修 發布:2025-09-16 10:08:45 瀏覽:268
編譯命令cl 發布:2025-09-16 09:57:21 瀏覽:520
小君直播密碼是多少 發布:2025-09-16 09:25:46 瀏覽:608
用中文編譯的編程軟體 發布:2025-09-16 09:04:37 瀏覽:152