Oracle觸發器觸發級別
這篇文章用實驗討論Oracle觸發器的觸發級別問題。
1.建立測試環境:
create table a(id number);
create table b(id number);
begin
for i in 1 .. 100 loop
insert into a values (i);
commit;
end loop;
end;
/
create or replace trigger a_t_b
after insert or update or delete on a
for each row
declare
-- local variables here
begin
insert into b values (1);
end a_t_b;
2.測試每行觸發:
SQL> begin
2 update a set id=1 where id in(1,2,3,4,5,6,7,8,9);
3 delete from a where id>90;
4 end;
5 /
PL/SQL procedure successfully completed
SQL> commit;
Commit complete
SQL> select * from b;
ID
----------
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
19 rows selected
雖然只有兩條SQL語句,但是兩條語句操作了19行資料,所以這裡產生了19個觸發事件。
3.測試語句觸發:
SQL> truncate table b;
Table truncated
修改觸發器,註釋for each row行。
create or replace trigger a_t_b
after insert or update or delete on a
-- for each row
declare
-- local variables here
begin
insert into b values (1);
end a_t_b;
SQL> begin
2 update a set id=2 where id in (11,12,13,14,15,16);
3 delete from a where id>80;
4 end;
5 /
PL/SQL procedure successfully completed
SQL> commit;
Commit complete
SQL> select * from b;
ID
----------
1
1
雖然同樣修改了多行記錄,但只有兩條SQL語句,所以只產生了兩個觸發事件。還需要注意的是觸發事件發生在操作行記錄和SQL語句級別,而非發生在事務級別,跟事務沒關係。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23135684/viewspace-712450/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle開發基礎-觸發器Oracle觸發器
- 禁止oracle表的觸發器triggerOracle觸發器
- oracle儲存過程和觸發器Oracle儲存過程觸發器
- mysql觸發器MySql觸發器
- D觸發器觸發器
- SqlServer-觸發器SQLServer觸發器
- logon觸發器for dbaGo觸發器
- MySQL使用觸發器MySql觸發器
- 語句觸發器觸發器
- MySql-觸發器MySql觸發器
- sqlserver 列觸發器SQLServer觸發器
- 除錯觸發器除錯觸發器
- 建立MySQL觸發器MySql觸發器
- 瞭解SQL Server觸發器及觸發器中的事務AWSQLServer觸發器
- 觸發器 REFERENCING OLD AS OLD觸發器
- 行為和觸發器觸發器
- MySQL觸發器介紹MySql觸發器
- sql-server觸發器SQLServer觸發器
- 邊緣觸發ET和水平觸發LT
- SQL Server:觸發器詳解SQLServer觸發器
- mvvm模式 事件觸發器[wpf]MVVM模式事件觸發器
- MySQL入門-- TRIGGER(觸發器)MySql觸發器
- SQL觸發器例項講解SQL觸發器
- MSMQ 觸發器 安裝失敗MQ觸發器
- SQL Server 觸發器詳情HOPPSQLServer觸發器
- MySQL觸發器的使用規則MySql觸發器
- SqlServer觸發器的建立與使用SQLServer觸發器
- mysql觸發器案例分析以及before和after的區別MySql觸發器
- 取消事件觸發事件
- 雲開發 CloudBase 已上線觸發器能力Cloud觸發器
- OGG DDL觸發器引發的故障系列(一)觸發器
- 淺入淺出SQL Server 觸發器SQLServer觸發器
- 數位電路中的觸發器觸發器
- [MySQL光速入門]026 觸發器 trigger!!!MySql觸發器
- 25. 使用MySQL之使用觸發器MySql觸發器
- 資料庫檢視,索引,觸發器資料庫索引觸發器
- 資料庫的觸發器的使用資料庫觸發器
- MySQL全面瓦解17:觸發器相關MySql觸發器
- jQuery select 觸發事件jQuery事件