新聞中心
在SQL Server數據庫中,SQL Server觸發(fā)器是一種特殊類型的存儲過程。下面對SQL Server觸發(fā)器的優(yōu)點作了詳細的介紹,供您參考。

它在您使用一種或多種數據修改操作(UPDATE、INSERT 或 DELETE)來修改指定表中的數據時運行。稱為 INSTEAD OF 觸發(fā)器的特殊觸發(fā)器可以指定對視圖的基礎基表的修改。
SQL Server觸發(fā)器可以查詢其他表,而且可以包含復雜的 SQL 語句。它們主要用于強制服從復雜的業(yè)務規(guī)則或要求。例如,您可以根據客戶當前的帳戶狀態(tài),控制是否允許插入新訂單。
SQL Server觸發(fā)器也可用于強制引用完整性,以便在多個表中添加、更新或刪除行時,保留在這些表之間所定義的關系。然而,強制引用完整性的***方法是在相關表中定義主鍵和外鍵約束。如果使用表設計器,則可以在表之間創(chuàng)建關系以自動創(chuàng)建外鍵約束。
觸發(fā)器的優(yōu)點如下:
觸發(fā)器是自動的。它們在對表的數據作了任何修改(比如手工輸入或者應用程序采取的操作)之后立即被激活。
觸發(fā)器可以通過數據庫中的相關表進行級聯更改。例如,可以在 titles 表的 title_id 列上編寫一個刪除觸發(fā)器,以觸發(fā)在其他表中刪除各匹配行的操作。該觸發(fā)器用 title_id 列作為唯一鍵,在 titleauthor、sales 和 roysched 表中對各匹配行進行定位。
觸發(fā)器可以強制限制,這些限制比用 CHECK 約束 (Visual Database Tools) 所定義的更復雜。與 CHECK 約束不同的是,觸發(fā)器可以引用其他表中的列。例如,觸發(fā)器可以回滾嘗試對價格低于 10 美元的書(存儲在 titles 表中)應用折扣(存儲在 discounts 表中)的更新。
【編輯推薦】
SQL Server存儲過程的刪除方法
SQL Server級聯刪除的實現
SQL Server刪除表的外鍵約束
SQL Server Agent服務
Sql server DAC連接的問題
當前標題:帶您了解SQL Server觸發(fā)器的優(yōu)點
網頁網址:http://m.fisionsoft.com.cn/article/cciohjg.html


咨詢
建站咨詢
