首頁  >  文章  >  資料庫  >  觸發器的類型有哪三種?

觸發器的類型有哪三種?

烟雨青岚
烟雨青岚原創
2020-07-18 09:17:1923210瀏覽

觸發器的類型有:DML觸發器、DDL觸發器和登入觸發器。觸發器(trigger)是【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 錯誤日誌。如果身份驗證失敗,將不會激發登入觸發器。

推薦教學:《sql影片教學

以上是觸發器的類型有哪三種?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn