資料庫之觸發器

2021-09-08 14:53:04 字數 1113 閱讀 6406

觸發器——看到這個名字總是會想到數電中學過的觸發器,有輸入端和輸出端,根據電平的高低來觸發。

資料庫中的觸發器是個特殊的儲存過程,主要是通過事件進行觸發而被執行的,而儲存過程可以通過儲存過程名稱而被直接呼叫。

作用:使用t——sql語句進行複雜的邏輯處理,基於乙個表建立,但是可以對多個表進行操作,因此常常用於複雜的業務規則。可以完成如下功能:

1 、級聯修改資料庫中相關的表

2、執行比核查約束更為複雜的約束操作

3、拒絕或回滾違反引用完整性的操作。

4、比較表修改前後資料之間的差別,並根據差別採取相應的操作。

建立觸發器的規則和限制:

1、create trigger語句必須是批處理中的第乙個語句。

2、在預設情況下,建立觸發器的許可權將分配給資料表的所有者,且不能轉給其他使用者

3、觸發器是資料庫物件,其名稱必須遵循識別符號的命名規則。

4、雖然觸發器可以引用當前資料庫以外的物件,但是只能在當前數

據庫中建立觸發器。

5、雖然不能在臨時資料表上建立觸發器,但是觸發器

可以引用臨時資料表。

6、不能在系統資料表建立觸發器,也不可以引用系統資料庫。

7、在包含使用delete或updata操作定義中,不能定義instead of和instead of update觸發器。

8、truncate table

語句不會引發delete觸發器,因為該語句沒有被記入日誌。

9、writetext

語句不會引發

insert

或update

觸發器注意:當建立乙個觸發器時必須指定:名稱;在其上定義觸發器的表;觸發器將何時激發;啟用觸發器的資料修改語句。

管理觸發器有兩種方法:一是使用企業管理器管理觸發器;二是使用t——sql管理觸發器。都可以對觸發器進行建立,修改,刪除。

使用t——sql檢視觸發器相關資料:使用系統儲存過程sp_helptrigger:語法如下:exec sp_helptrigger『table』[,'type']

table:觸發器所在的表名

type:指定列出的操作型別的觸發器。若不指定,則列出所有的觸發器。

例子:exec sp_helptrigger'employee'

資料庫之觸發器

觸發器 看到這個名字總是會想到數電中學過的觸發器,有輸入端和輸出端,根據電平的高低來觸發。資料庫中的觸發器是個特殊的儲存過程,主要是通過事件進行觸發而被執行的,而儲存過程可以通過儲存過程名稱而被直接呼叫。作用 使用t sql語句進行複雜的邏輯處理,基於乙個表建立,但是可以對多個表進行操作,因此常常用...

資料庫之觸發器

1.概述 觸發器是特殊的儲存過程。儲存過程是由使用者主動去呼叫執行,觸發器是資料庫在發生一些事件的時候主動呼叫。常見的觸發器 sql server 有instead of 和 after for 資料庫為觸發器特別的建立兩張表 inserted表 deleted表 這兩張表由資料庫維護,存在記憶體中...

資料庫之觸發器

本篇介紹mysql中的觸發器,部分內容是筆者摘抄自 資料庫系統概念 僅當作筆記。觸發器 trigger 是一條語句,當對資料庫做修改時,它自動被系統執行。要設定觸發器機制,必須滿足兩個要求 指明什麼條件下執行觸發器。它被分解為乙個引起觸發器被檢測的事件和乙個觸發器執行必須滿足的條件 指明觸發器執行時...