,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如
當對乙個表進行操作( insert,delete, update)時就會啟用它執行。觸發器經常用於加強資料的完整性約束和業務規則等。
觸發器的型別
觸發器分為語句級觸發器和行級觸發器(for each row)
1)語句級觸發器:是指在指定的操作語句之前或之後執行一次,不管影響多少行, 都只會執行一次。
2)行級觸發器:觸發語句作用的每一條記錄都被觸發也就是影響多少行,就觸發多少次。在行級觸發器中使用old和new偽記錄變數,識別值的狀態。
:old 代表舊的記錄, 更新前的記錄------:new 代表的是新的記錄
觸發器基本語法:
create [or replace] trigger trigger_name
before|after
delete|insert|update [of 列名]
on 表名
[for each row [where 條件]]
declare
...begin
plsql塊
end trigger_name;
例如:插入員工之後列印一句話
create or replace trigger inputtest
before insert on person
declare
begin
dbms_output.put_line('歡迎新員工');
end inputtest;
insert into person values(123,'jason','hello');
結果輸出:歡迎新員工。
操作語句與偽指令的含義如下表:
需要注意的是:觸發器中不能提交事務,也不能回滾事務。如果出現了錯誤就需要丟擲異常。
以上就是觸發器的基本知識和簡單應用。
資料庫中的觸發器
在進行資料庫應用軟體的開發時,我們有時會碰到表中的某些資料改變,希望同時引起其他相關資料改變的需求,利用觸發器就能滿足這樣的需求。它能在表中的某些特定資料變化時自動完成某些查詢。運用觸發器不僅可以簡化程式,而且可以增加程式的靈活性。下面就對觸發器的基本概念 它的應用場合進行一下簡單的敘述。觸發器是一...
資料庫中的觸發器
觸發器 其是一種特殊的儲存過程。一般的儲存過程是通過儲存過程名直接呼叫,而觸發器主要是 通過事件 增 刪 改 進行觸發而被執行的。其在表中資料發生變化時自動強制執行。常見的觸發器有兩種 after for instead of,用於insert update delete事件。after for 表...
資料庫觸發器
觸發器是一種特殊型別的儲存過程,它不同於我們前面介紹過的儲存過程。觸發器主要是通過事件進行觸發而被執行的,而儲存過程可以通過儲存過程名字而 被直接呼叫。當對某一表進行諸如update insert delete 這些操作時,sql server 就會自動執行觸發器所定義的sql 語句,從而確保對資料...