數據庫中的觸發器的作用:觸發器主要用于強制復雜的業務規則和要求,還有助于強制引用的完整性,便于在添加,更新或刪除表中的行時保留表之間已定義的關系。
觸發器
觸發器是一種特殊類型的存儲過程,當使用下面的一種或多種數據修改操作在指定表中對數據進行修改時,觸發器會生效:UPDATE、INSERT 或 DELETE。觸發器可以查詢其它表,而且可以包含復雜的 SQL 語句。它們主要用于強制復雜的業務規則或要求。例如,可以控制是否允許基于顧客的當前帳戶狀態插入定單。?
觸發器還有助于強制引用完整性,以便在添加、更新或刪除表中的行時保留表之間已定義的關系。然而,強制引用完整性的最好方法是在相關表中定義主鍵和外鍵約束。如果使用數據庫關系圖,則可以在表之間創建關系以自動創建外鍵約束。
使用觸發器的優點?
(1)觸發器是自動的:它們在對表的數據作了任何修改(比如手工輸入或者應用程序采取的操作)之后立即被激活。?
(2)觸發器可以通過數據庫中的相關表進行層疊更改。例如,可以在 titles 表的 title_id 列上寫入一個刪除觸發器,以使其它表中的各匹配行采取刪除操作。該觸發器用 title_id 列作為唯一鍵,在 titleauthor、sales 及 roysched 表中對各匹配行進行定位。?
(3)觸發器可以強制限制,這些限制比用 CHECK 約束所定義的更復雜。與 CHECK 約束不同的是,觸發器可以引用其它表中的列。例如,觸發器可以回滾試圖對價格低于 10 美元的書(存儲在 titles 表中)應用折扣?
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END