1. 程式人生 > >【SQL server觸發器】觸發器基礎知識

【SQL server觸發器】觸發器基礎知識

前言:

觸發器與儲存過程有一點點差別的,那麼我們什麼時候要用觸發器,接下來將給大家揭曉!

在這裡插入圖片描述

1、什麼是觸發器

觸發器是一個在修改指定表中的資料執行的儲存過程。通常通過建立觸發器來強制實現 不同表 中的邏輯相關資料的引用完整性或一致性。由於使用者不能繞過觸發器,所以用來 強制實施複雜的業務規則!以此確保資料的 完整性 !

一開始以為觸發器沒什麼總結的,但是通過系統的學習,發現還是有必要總結一下的,接下來將是幾篇觸發器的總結部落格!

2、為什麼要使用觸發器

(1)觸發器自動執行,他們在表的資料做了任何修改,之後立即啟用!(和事件差不多了) (2)觸發器可以通過資料庫中的相關表進行層疊更改,這直接把程式碼寫在客戶端更加合理! (3)觸發器的限制可以引用到其它表中的列!

3、觸發器如何保證資料的完整性

個人理解:比如我們做牛腩新聞系統的時候,如果我們刪除了一條新聞,那麼刪除這條新聞的時候,它下面的新聞的評論也隨之刪除,此時涉及到兩個表,一個是新聞表,一個是評論表!如果沒有觸發器的話,我們在程式中還要加上刪除新聞評論表中的對應的內容!但是有時候程式設計師萬一要是忘記設計刪除新聞評論類,那麼資料就不完整了!(新聞表中沒有了此類新聞,但是評論表中卻有此類新聞的評論!)

4、觸發器的種類

我們之前設計的觸發器好像都是DML的,但是還有DDL,那麼二者之間有何區別呢!

DML觸發器(修改表中的資料用) DML(Data Manipulation Language)觸發器是當資料庫中發生資料操作語言事件要執行的操作。它通常包含三種:INSERT觸發器,UPDATE觸發器,DELETE觸發器!當我們要對 資料庫裡的資料

進行操作的時候,我們要用到DML觸發器!

DDL觸發器(修改表) DDL觸發器是當資料庫中發生資料定義語言(Data Definition Language)主要包括CREATE,ALTER,DROP等操作!當我們用在 定義或者改變表的結構,資料型別,表之間的連線和約束的時候,我們就用DDL觸發器!

後記:

觸發器保證了我們資料庫資料的完整性,DDL是修改表的層次,DML是修改表中的資料層次!