觸發器的類型有哪三種?


https://m.php.cn/sql/455655.html
觸發器的類型有哪三種?

觸發器的類型有: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中文網其它相關文章!

聲明:本文原創發布php中文網,轉載請注明出處,感謝您的尊重!如有疑問,請聯系admin@php.cn處理
專題推薦: 觸發器 sql


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM