標籤:
觸發器在資料庫裡以獨立的Object Storage Service,它與預存程序不同的是,預存程序通過其它程式來啟動運行,而觸發器是由一個事件來啟動運行。
1. 觸發器特性
1>觸發器是當某個事件發生時自動的運行。
2>觸發器不能接收參數。
3>oracle事件指的是對資料庫表進行的insert、update、delete等操作。
2. 觸發器組成
2.1 觸發事件:引起觸發器被觸發的事件。例如:insert、update、delete等語句對錶或視圖的操作。
2.2 觸發時間:即該trigger是在觸發事件發生之前還是之後觸發。
2.3 觸發操作:即該trigger被觸發之後的目的和意圖,就是觸發器本身要做的事情。
2.4 觸發對象:包括表、視圖、模式、資料庫等,只有在這些對象上發生了符合觸發條件的觸發事件,才會執行觸發操作。
2.5 觸發條件:由when子句指定一個邏輯運算式,只有當該運算式的值為true時,遇到觸發事件才會自動執行觸發器,使其執行觸發操作。
2.6 觸發頻率:說明觸發器內定義的動作被執行的次數。即語句級觸發器(statement)和行級(row)觸發器。
語句級觸發器:當某觸發事件發生時,該觸發器只執行一次。
行級觸發器:當某觸發事件發生時,對受到該操作影響的每一行資料,觸發器都單獨執行一次。
3. 建立觸發器執行個體
create or replace trigger demo before insert on t_user declare -- local variables herebegin dbms_output.put_line(‘該觸發器已被執行!‘); end demo;
向t_user表中添加資料
insert into t_user (user_id, user_name, gender, age, telephone)values (5, ‘王老吉‘, ‘0‘, 10, ‘13269368569‘)
查看觸發器是否被執行
Oracle --觸發器