觸發器(trigger)是SQL server 提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對一個表進行操作( insert,delete, update)時就會啟用它執行。觸發器經常用於加強資料的完整性約束和業務規則等。觸發器有如下作用: 可在寫入資料表前,強制檢驗或轉換資料。 觸發器發生錯誤時,異動的結果會被撤銷。 部份資料庫管理系統可以針對資料定義語言(DDL)使用觸發器,稱為DDL觸發器。 可依照特定的情況,替換異動的指令 (INSTEAD OF)。SQL Server 包括三種常規型別的觸發器:DML 觸發器、DDL 觸發器和登入觸發器。
1、DML觸發器當資料庫中表中的資料發生變化時,包括insert,update,delete任意操作,如果我們對該表寫了對應的DML觸發器,那麼該觸發器自動執行。DML觸發器的主要作用在於強制執行業 務規則,以及擴充套件Sql Server約束,預設值等。因為我們知道約束只能約束同一個表中的資料,而觸發器中則可以執行任意Sql命令。
2、DDL觸發器它是Sql Server2005新增的觸發器,主要用於稽核與規範對資料庫中表,觸發器,檢視等結構上的操作。比如在修改表,修改列,新增表,新增列等。它在資料庫結構發生變化時執行,我們主要用它來記錄資料庫的修改過程,以及限制程式設計師對資料庫的修改,比如不允許刪除某些指定表等。
3、登入觸發器登入觸發器將為響應 LOGIN 事件而激發儲存過程。與 SQL Server 例項建立使用者會話時將引發此事件。登入觸發器將在登入的身份驗證階段完成之後且使用者會話實際建立之前激發。因此,來自觸發器內部且通常將到達使用者的所有訊息(例如錯誤訊息和來自 PRINT 語句的訊息)會傳送到 SQL Server 錯誤日誌。如果身份驗證失敗,將不激發登入觸發器。
觸發器(trigger)是SQL server 提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對一個表進行操作( insert,delete, update)時就會啟用它執行。觸發器經常用於加強資料的完整性約束和業務規則等。觸發器有如下作用: 可在寫入資料表前,強制檢驗或轉換資料。 觸發器發生錯誤時,異動的結果會被撤銷。 部份資料庫管理系統可以針對資料定義語言(DDL)使用觸發器,稱為DDL觸發器。 可依照特定的情況,替換異動的指令 (INSTEAD OF)。SQL Server 包括三種常規型別的觸發器:DML 觸發器、DDL 觸發器和登入觸發器。
1、DML觸發器當資料庫中表中的資料發生變化時,包括insert,update,delete任意操作,如果我們對該表寫了對應的DML觸發器,那麼該觸發器自動執行。DML觸發器的主要作用在於強制執行業 務規則,以及擴充套件Sql Server約束,預設值等。因為我們知道約束只能約束同一個表中的資料,而觸發器中則可以執行任意Sql命令。
2、DDL觸發器它是Sql Server2005新增的觸發器,主要用於稽核與規範對資料庫中表,觸發器,檢視等結構上的操作。比如在修改表,修改列,新增表,新增列等。它在資料庫結構發生變化時執行,我們主要用它來記錄資料庫的修改過程,以及限制程式設計師對資料庫的修改,比如不允許刪除某些指定表等。
3、登入觸發器登入觸發器將為響應 LOGIN 事件而激發儲存過程。與 SQL Server 例項建立使用者會話時將引發此事件。登入觸發器將在登入的身份驗證階段完成之後且使用者會話實際建立之前激發。因此,來自觸發器內部且通常將到達使用者的所有訊息(例如錯誤訊息和來自 PRINT 語句的訊息)會傳送到 SQL Server 錯誤日誌。如果身份驗證失敗,將不激發登入觸發器。