[SQL]觸發器入門介紹——特殊的預存程序,sql觸發器

來源:互聯網
上載者:User

[SQL]觸發器入門介紹——特殊的預存程序,sql觸發器

  觸發器是一種特殊類型的預存程序,它的功能是在指定的表中的資料發生變化時自動生效。

  觸發器與普通預存程序的不同之處在於——觸發器的執行時由事件觸發,而普通預存程序是由命令調用執行(EXEC)

  SQL Server主要提供了一下兩種觸發器

1)DML觸發器

2)DLL觸發器

當資料庫中發生資料操作語言DML事件的時候即執行DML觸發器。DLL觸發器是SQL Server 2005以後新增的觸發器類型,它在響應資料定義語言 (Data Definition Language)DDL時觸發。

主要講解DML觸發器,又分為三種:

1)AFTER觸發器,故名思義,為修改資料時觸發的

2)INSTEAD of觸發器 執行INSTEAD OF觸發器代替通常的觸發動作。

3)CLR觸發器,他就是萬金油,到處都算他的,AFTER 、INSTEAD OF,甚至有一些DLL觸發器也算在他裡面了,設計者當初為啥這樣設計就不得而知了。


是INSTEAD OF觸發器和AFTER觸發器的功能比較



sql視圖 預存程序 觸發器各自的優點是什?

視圖的優點:

提高資料安全性,可以不讓使用者看到表中的某個欄位。比如password,你只給他們執行視圖的許可權,不給執行表的許可權,他們就無法查看全部資料。

還有可以建立一個視圖,內容包括兩個表,更新的時候只需要指定ID,而不用管它來自哪個表,對應表中的資料就會自動更新。

預存程序的優點:

包括視圖的所有優點,還可以讓不懂資料庫的人也能也用資料庫,還有就是方便程式計設,比如我負責前景程式設計,你負責寫存程,我不用管你是怎麼寫,最後只接調用,我們分工明確,我也不需要懂你所懂的,這為用不懂語言和不同專業的人在一起合作提供了良好的平台。提高開發效率。

觸發器的優點:

保證資料的正確性和邏輯,比如訂單表中新增一條資料,對應在庫存表中會減少一個產品一樣。
還有保證資料的安全性,比如當使用者刪除表A,我們可以判斷他是否為Admin組的使用者,如果不是,就會給出錯誤的提示,並將交易回復。

我知道的就這麼多了。。。嘿嘿。
 
助 SQL 預存程序中觸發器語句詳解

樓上的二位都是高人,指點的太簡單!
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.