欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

特殊的存儲過程-觸發(fā)器概述

 更新時間:2008年04月18日 10:50:21   作者:  
一直都不知道觸發(fā)器的具體應用,今天看到一篇觸發(fā)器的解釋文章
本節(jié)將介紹一種特殊的存儲過程,即觸發(fā)器。

一、觸發(fā)器的概念
觸發(fā)器是一種特殊類型的存儲過程,它不同于我們前面介紹過的存儲過程。觸發(fā)器主要是通過事件進行觸發(fā)而被執(zhí)行的,而存儲過程可以通過存儲過程名字而被直接調用。當對某一表進行諸如UPDATE、INSERT、DELETE這些操作時,SQL Server就會自動執(zhí)行觸發(fā)器所定義的SQL語句,從而確保對數據的處理必須符合由這些SQL 語句所定義的規(guī)則。 

二、觸發(fā)器的作用
觸發(fā)器的主要作用就是其能夠實現由主鍵和外鍵所不能保證的復雜的參照完整性和數據的一致性。除此之外,觸發(fā)器還有其它許多不同的功能: 

A.強化約束
觸發(fā)器能夠實現比CHECK 語句更為復雜的約束。 

B.跟蹤變化
觸發(fā)器可以偵測數據庫內的操作從而不允許數據庫中未經許可的指定更新和變化。 

C.級聯運行
觸發(fā)器可以偵測數據庫內的操作,并自動地級聯影響整個數據庫的各項內容。例如:某個表上的觸發(fā)器中包含有對另外一個表的數據操作(如刪除,更新,插入),而該操作又導致該表上觸發(fā)器被觸發(fā)。 

D.存儲過程的調用

為了響應數據庫更新,觸發(fā)器可以調用一個或多個存儲過程,甚至可以通過外部過程的調用而在DBMS本身之外進行操作。

由此可見,觸發(fā)器可以解決高級形式的業(yè)務規(guī)則或復雜行為限制以及實現定制記錄等一些方面的問題。例如,觸發(fā)器能夠找出某一表在數據修改前后狀態(tài)發(fā)生的差異,并根據這種差異執(zhí)行一定的處理。此外一個表的同一類型(INSERT、UPDATE、DELETE)的多個觸發(fā)器能夠對同一種數據操作采取多種不同的處理。

總體而言,觸發(fā)器性能通常比較低。  

三、觸發(fā)器的種類
SQL Server 2000支持兩種類型的觸發(fā)器:AFTER觸發(fā)器和INSTEAD OF觸發(fā)器。

AFTER觸發(fā)器要求只有執(zhí)行某一操作(INSERT、UPDATE、DELETE)之后,觸發(fā)器才被觸發(fā),且只能在表上定義。可以為針對表的同一操作定義多個觸發(fā)器。

INSTEAD OF觸發(fā)器表示并不執(zhí)行其所定義的操作(INSERT、UPDATE、DELETE),而僅是執(zhí)行觸發(fā)器本身。既可在表上定義INSTEAD OF觸發(fā)器,也可以在視圖上定義INSTEAD OF觸發(fā)器,但對同一操作只能定義一個INSTEAD OF觸發(fā)器。

注:在本實驗中不講INSTEAD OF觸發(fā)器

相關文章

  • Linux下mysql數據庫的創(chuàng)建導入導出 及一些基本指令

    Linux下mysql數據庫的創(chuàng)建導入導出 及一些基本指令

    這篇文章主要介紹了Linux數據庫的創(chuàng)建 導入導出 以及一些基本指令,需要的朋友可以參考下
    2019-08-08
  • SQL注入篇學習之盲注/寬字節(jié)注入

    SQL注入篇學習之盲注/寬字節(jié)注入

    盲注是注入的一種,指的是在不知道數據庫返回值的情況下對數據中的內容進行猜測,實施SQL注入,下面這篇文章主要給大家介紹了關于SQL注入篇之盲注/寬字節(jié)注入的相關資料,需要的朋友可以參考下
    2022-03-03
  • DBeaver一款替代Navicat的數據庫可視化工具

    DBeaver一款替代Navicat的數據庫可視化工具

    這篇文章主要介紹了DBeaver一款替代Navicat的數據庫可視化工具,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • sql學習之CASE WHEN THEN ELSE END的用法

    sql學習之CASE WHEN THEN ELSE END的用法

    這篇文章主要介紹了sql學習之CASE WHEN THEN ELSE END的用法,需要的朋友可以參考下
    2014-06-06
  • Django項目優(yōu)化數據庫操作總結

    Django項目優(yōu)化數據庫操作總結

    這篇文章主要介紹了Django項目中優(yōu)化數據庫操作總結,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家共進步,早日升職加薪
    2021-09-09
  • JMeter對數據庫的查詢操作步驟詳解

    JMeter對數據庫的查詢操作步驟詳解

    這篇文章主要詳細說明,使用JDBC Request組件,如何對數據庫進行查詢的各種操作,重點是JMeter中查詢語句的操作步驟,通過實例代碼講解,需要的朋友可以參考下
    2021-06-06
  • sql注入報錯之注入原理實例解析

    sql注入報錯之注入原理實例解析

    所謂報錯注入,就是通過運行SQL查詢語句回顯查詢結果,下面這篇文章主要給大家介紹了關于sql注入報錯之注入原理的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 關于ADOX的相關知識

    關于ADOX的相關知識

    關于ADOX的相關知識...
    2006-12-12
  • 顏值與實用性并存的數據庫建模工具Chiner教程

    顏值與實用性并存的數據庫建模工具Chiner教程

    這篇文章主要為大家介紹了一款顏值與實用性并存的數據庫建模工具Chiner,推薦大家使用,有需要的朋友可以共同學習參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • Navicat快速導入和導出sql文件的方法

    Navicat快速導入和導出sql文件的方法

    Navicat是MySQL非常好用的可視化管理工具,功能非常強大,能滿足我們日常數據庫開發(fā)的所有需求。今天教大家如何導入和導出SQL文件,感興趣的朋友跟隨小編一起看看吧
    2021-05-05

最新評論