Microsoft SQL Server 2000 超級管理手冊(二二)

本文围绕 SQL Server 2000 触发器展开,介绍了其强化功能、适用场景。详细阐述了建立触发器的多种方法,包括使用 T - SQL 语句和 SQL Server Enterprise Manager,还说明了管理及修改触发器的方式。同时给出了 AFTER、INSERT、UPDATE 等不同类型触发器的创建示例及测试方法。

22. 建立及使用觸發程序

什麼是觸發程序?

SQL Server 2000 觸發程序強化功能

何時使用觸發程序

建立觸發程序

管理觸發程序

本章總結

觸發程序是一種特殊類型的預存程序。本章將學習觸發程序的用途和使用方法,以及 Microsoft SQL 2000(T-SQL)觸發程序引進的新功能,並將示範兩種建立觸發程序的方法,分別是使用 T-SQL 陳述式,和使用 SQL Server Enterprise Manager,此外,也將學習管理及修改觸發程序。

什麼是觸發程序?
 

 觸發程序(trigger) 是一種特殊的預存程序,執行特定的陳述式(UPDATE、INSERT 或 DELETE)就可以啟動觸發程序。觸發程序與其他預存程序相同,可以是由簡單,亦或是複雜的 T-SQL 陳述式組成;至於與其他預存程序不同的地方,則在於當指定的資料被修改,觸發程序即自動執行,無法依名稱以手動執行。觸發程序執行時,稱為觸動(fire)。觸發程序雖建立在現有的資料庫資料表中,但它可以存取其他資料庫的資料表和物件。觸發程序不能建立在臨時的資料表或臨時的系統資料表上,只能建立在使用者自訂資料表或自訂的檢視表中。執行觸發程序所在的資料表或檢視表,稱為觸發程序資料表(trigger table)。

觸發程序有五種類型:UPDATE、INSERT、DELETE、INSTEAD OF 和 AFTER。有了觸發程序,只要您對該表格更新、插入或刪除時,就會觸動對應的 UPDATE、INSERT 或 DELETE 觸發程序。INSTEAD OF 和 AFTER 是 SQL 2000 新增的兩項觸發程序,Instead of的原義是「取代」,INSTEAD OF觸發程序會取代插入、更新和刪除操作而執行。AFTER 觸發程序會在觸發動作之後再觸動,可視為控制觸發程序啟動時間的機制。

對資料的更新、插入及刪除被視為資料修改事件。您可以設計當一項或多項修改事件產生時,即觸動觸發程序。例如,當執行 UPDATE 或 INSERT 陳述式時即觸動觸發程序。這種類型的觸發程序稱為 UPDATE/INSERT 觸發程序。您也可以建立任何一項修改事件產生時,執行相對的 UPDATE/INSERT/DELETE 觸發程序。

下面是關於觸發程序的一些其他規定:

  • 觸發程序只在觸發它的陳述式完成後執行。舉例來說,如果 UPDATE 陳述式成功,UPDATE 觸發程序才會被觸動。
     
  • 如果陳述式在資料表中執行違反條件約束或引起錯誤,觸發程序不會觸動。
     
  • 觸發程序視為單一交易中的一部份,因此可以由原觸發程序復原交易,如果在交易過程中偵測到嚴重的錯誤(如使用者中斷連線),則會自動復原整個交易。
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值