當前位置:首頁 » 編程語言 » 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』 則是指定的用戶。

熱點內容
解壓後有個文件看不到 發布:2024-11-23 05:54:01 瀏覽:125
android功耗 發布:2024-11-23 05:53:53 瀏覽:751
戰地1伺服器ip 發布:2024-11-23 05:48:47 瀏覽:797
android內核教程 發布:2024-11-23 05:43:11 瀏覽:757
數據存儲智能製造叫什麼部門 發布:2024-11-23 05:31:24 瀏覽:344
linux系統版本號 發布:2024-11-23 05:21:58 瀏覽:706
大學生用的電腦伺服器 發布:2024-11-23 05:20:22 瀏覽:371
加密晶元解密 發布:2024-11-23 05:20:20 瀏覽:844
騰訊雲伺服器的地址在哪看 發布:2024-11-23 05:15:20 瀏覽:410
電腦配置低怎麼玩cf 發布:2024-11-23 04:58:10 瀏覽:379