一、觸發器(trigger)是sql server 提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對乙個表進行操作( insert,delete, update)時就會啟用它執行。觸發器經常用於加強資料的完整性約束和業務規則等。 觸發器可以從 dba_triggers ,user_triggers 資料字典中查到。sql3的觸發器是乙個能由系統自動執行對資料庫修改的語句。
觸發器可以查詢其他表,而且可以包含複雜的sql語句。它們主要用於強**從複雜的業務規則或要求。例如:您可以根據客戶當前的帳戶狀態,控制是否允許插入新訂單。
觸發器也可用於強制引用完整性,以便在多個表中新增、更新或刪除行時,保留在這些表之間所定義的關係。然而,強制引用完整性的最好方法是在相關表中定義主鍵和外來鍵約束。如果使用資料庫關係圖,則可以在表之間建立關係以自動建立外來鍵約束。
觸發器與儲存過程的唯一區別是觸發器不能執行execute語句呼叫,而是在使用者執行transact-sql語句時自動觸發執行。
二、語法及作用
create or replace trigger
on 表名
[for each row when()]
觸發器有如下作用:
三、觸發器的型別
1、語句級觸發器(針對的是表)
在指定的操作語句執行前或者後執行一次,不管這條語句影響了多少行。
2、行級觸發器(針對的是行)
觸發語句的作用每一行記錄都被觸發。在行級觸發器中使用:old和:new偽記錄變數,識別值的變數
四、案例
1、語句級觸發器
2、行級觸發器
觸發器學習
觸發器學習 查詢觸發器 select table owner,table name,trigger body from user triggers 刪除觸發器 drop trigger trigger name 但觸發器一般是這樣建的 create or replace 也就是如果存在的話,就可以替...
觸發器學習
1 觸發器概念 2 觸發器與儲存過程的唯一區別是觸發器不能執行execute語句呼叫,觸發器為自動觸發。2 建立簡單觸發器 create trigger dbo aa on dbo aaaa for insert delete,update astruncate table bbbb insert ...
觸發器學習《一》 簡單觸發器建立
1 建立表 create table userinfo id number 10,0 primary key,name varchar2 40 2 建立序列 create sequence userinfo seq start with 1 maxvalue 9999999999 increment...