oracle trigger語法小記(一)
SQL> update dept1 set dname='new accounting' where deptno=1;
update dept1 set dname='new accounting' where deptno=1
*
ERROR at line 1:
ORA-04092: cannot COMMIT in a trigger
ORA-06512: at "SCOTT.T_DEPT1", line 3
ORA-04088: error during execution of trigger 'SCOTT.T_DEPT1'
SQL>
####說明在觸發器內部不能有commit或者rollback,觸發器會自動提交的喲
SQL> create or replace trigger t_dept1
2 after update of dname on dept1 for each row
3 begin
4 insert into dept1_audit values(:old.deptno,sysdate,:new.dname,:old.dname);
5 end;
6 /
Trigger created.
SQL> update dept1 set dname='new accounting' where deptno=1;
1 row updated.
SQL> commit;
Commit complete.
SQL> select * from dept1_audit;###更新了表的某行記錄後,觸發器發生了作用,把變更記錄的新老記錄儲存在此表中
DEPTNO UP_DATE NEW_DNAME OLD_DNAME
---------- ------------ ---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
1 22-7月 -10 new accounting
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-668943/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Test Oracle triggerOracle
- Oracle trigger問題Oracle
- 【開發筆記】swift語法小記筆記Swift
- oracle partition by 語法Oracle
- async語法升級踩坑小記
- ES模組語法學習小記
- 禁止oracle表的觸發器triggerOracle觸發器
- Web | 一小時看懂前端語法Web前端
- 自學PHP筆記(一)PHP語法PHP筆記
- oracle學習筆記(十五) PL/SQL語法結構以及使用Oracle筆記SQL
- C++語法小技巧C++
- 自學PHP筆記(一)PHP基本語法PHP筆記
- JavaScript 語法筆記JavaScript筆記
- Markdown語法筆記筆記
- [一、基本語法]1基本語法概述
- C#6語法小計C#
- ES6 語法小摘
- 入門筆記 --- Golang 語法注意事項(一)筆記Golang
- Oracle中 Update和insert結合語法Oracle
- Scala 語法(一)
- MYSQL語法(一)MySql
- java語法一Java
- c++語法筆記C++筆記
- Dart語法篇之基礎語法(一)Dart
- Mysql TriggerMySql
- 常用Java8語法小結Java
- oracle使用小記、刪除恢復Oracle
- Oracle 操作表結構基本語法及示例Oracle
- oracle語法相容--如何透過with recursive語法來實現oracle的分層查詢Oracle
- 小C語言--詞法分析程式(編譯原理實驗一)C語言詞法分析編譯原理
- swift語法-讀書筆記Swift筆記
- Java基礎 語法筆記Java筆記
- Java基礎語法筆記Java筆記
- 正則手記——語法篇
- 淺談Kotlin語法篇之基礎語法(一)Kotlin
- 小程式Flex 佈局教程:語法篇Flex
- 關於輸出的小語法點
- 淺談Oracle 主外來鍵刪除語法格式Oracle
- 弘一法師語錄一