前觸發器和後觸發器簡介 downmoon

2022-08-27 20:51:14 字數 738 閱讀 6807

前觸發器和後觸發器簡介(downmoon)

觸發器是一種特殊的儲存過程。當insert update 或者delete 語句修改表中乙個或者多個行時執行觸發器。因為sql server 對特定表上的每乙個指定操作呼叫乙個觸發器,所以可以使用觸發器擴充套件sql sever 的內建完整性和資料操縱功能.

注意:不像delete 語句,trancate table 語句不啟用觸發器,write text 語句也不啟用觸發器。

不僅可以為乙個表建立多個觸發器,而且還可以為乙個表的同乙個sql 語句(例如update 語句)建立多個後觸發器,不能為同乙個sql 語句建立多個前觸發器。每乙個新的create trigger 語句增加觸發器到那些指定表和語句已有的觸發器中。對於所建立的多個觸發器,可以用系統儲存過程sp_settriggerorder 來指定第乙個被啟用的觸發器和最後乙個被啟用的觸發器,而對於其他的觸發器,則不能指定其啟用順序,只能由系統決定。這種觸發器的特徵不會引起任何特殊的問題。因為總是可以實現各種動作作為正常的儲存過程,並且按照要求的順序從乙個觸發器中呼叫它們。

儘管觸發器是一種儲存過程,但是不能使用execute 語句呼叫它,如果有希望共享觸發器和正常的儲存過程的編碼,那麼只需把共享**放在儲存過程中,從觸發器中呼叫它。如果乙個觸發器修改乙個表,那麼這些修改可能會啟用另乙個觸發器,或者本身。在預設情況下,sql sever 允許這種巢狀的觸發器呼叫深度為32層。雖然我們建議允許巢狀的和疊代的觸發器,但是可以使用系統儲存過程禁止這麼做。下面的語句在指定的資料庫上防止疊代觸發器:

前觸發器和後觸發器簡介

觸發器是一種特殊的儲存過程。當 insert update 或者delete 語句修改表中乙個或者多個行時執行觸發器。因為 sql server 對特定表上的每乙個指定操作呼叫乙個觸發器,所以可以使用觸發器擴充套件 sql sever 的內建完整性和資料操縱功能.注意 不像delete 語句,tra...

前觸發器和後觸發器簡介 downmoon

前觸發器和後觸發器簡介 觸發器是一種特殊的儲存過程。當insert update 或者delete 語句修改表中乙個或者多個行時執行觸發器。因為sql server 對特定表上的每乙個指定操作呼叫乙個觸發器,所以可以使用觸發器擴充套件sql sever 的內建完整性和資料操縱功能.注意 不像dele...

觸發器簡介

觸發器 trigger 是個特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,不能帶引數,比如當對乙個表進行操作 insert,delete,update 時就會啟用它執行。觸發器經常用於加強資料的完整性約束和業務規則等。觸發器可以從 dba triggers user tr...