Oracle數據庫16_觸發器

數據庫觸發器是一個與表相關聯的、存儲的PL/SQL程序。每當一個特定的數據操作語句(insert,update,delete)在指定的表上發出時,Oracle自動的執行觸發器中定義的語句序列。

1.觸發器的作用

(1)數據確認

(2)實施複雜的安全性檢查

(3)做審計,跟蹤表上所做的數據操作等

(4)數據的備份和同步

2.觸發器的類型

(1)語句級觸發器

在指定的操作語句操作之前或之後執行一次,不管這條語句影響了多少行。

(2)行級觸發器

觸發語句作用的每一條記錄都被觸發。在行級觸發器中使用old和new僞記錄變量,識別值的狀態。

3.觸發器的語法

在這裏插入圖片描述

4.案例

【例1】插入員工後打印一句話“一個新員工插入成功”
在這裏插入圖片描述

5.觸發器的實際應用

需求:使用序列、觸發器來模擬mysql中自增效果

(1)建表、創建序列

在這裏插入圖片描述

(2)創建自增的觸發器

分析:創建一個基於該表的 before insert 觸發器,在觸發器中使用剛創建的SEQUENCE。

代碼如下:

create or replace trigger user_trgger
before insert on user 
for each row 
begin
	select  user_seq.nextval into:new.id from sys.dual;
end;
(3)測試效果
insert into itcastuser(name) values("aa");
commit;
insert into itcastuser(name) value('bb');
commit;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章