update restart
Please note consistent read and current read when UPDATE statment start.
[@more@]CREATE TABLE ud2_test(c1 NUMBER,c2 NUMBER,c3 NUMBER);
INSERT INTO ud2_test VALUES (1,1,1);
COMMIT;
CREATE OR REPLACE TRIGGER trg_ud2_test
BEFORE UPDATE ON ud2_test
FOR EACH ROW
BEGIN
dbms_output.put_line(:OLD.c1 || ',' || :OLD.c2 || ',' || :OLD.c3);
dbms_output.put_line(:NEW.c1 || ',' || :NEW.c2 || ',' || :NEW.c3);
END;
session1:
update ud2_test set c1=c1+1 where c2>0;
update ud2_test set c1=c1+1 where c2>0 ;
update ud2_test set c1=c1+1 where c2>0;
session2:
set serveroutput on
update ud2_test set c1=c1+10 where c2>0;
(session1 commit)
1,1,1
11,1,1
4,1,1
14,1,1
1 row updated
rollback;
etc:
update ud2_test set c3=c3+10 where c2>0;
(session1 commit)
4,1,1
4,1,11
5,1,1
5,1,11
1 row updated
rollback;
CREATE OR REPLACE TRIGGER trg_ud2_test
BEFORE UPDATE ON ud2_test
FOR EACH ROW
BEGIN
dbms_output.put_line( :OLD.c2 || ',' || :OLD.c3);
dbms_output.put_line( :NEW.c2 || ',' || :NEW.c3);
END;
update ud2_test set c3=c3+10 where c2>0;
(session1 commit)
4,1,1
4,1,11
1 row updated
rollback;
update ud2_test set c3=c3+10 where c1>0;
(session1 commit)
4,1,1
4,1,11
4,1,1
4,1,11
1 row updated
rollback;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12402/viewspace-995965/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 4.2 配置 RestartREST
- restart oracle streamRESTOracle
- 4.1.1 Oracle Restart概述OracleREST
- docker的restart策略DockerREST
- 4.1 關於 Oracle RestartOracleREST
- SVG restart動畫屬性SVGREST動畫
- SVG restart 動畫屬性SVGREST動畫
- check memcached process and restart if downREST
- How to Restart Qt ApplicationRESTQTAPP
- Windows Update與Microsoft UpdateWindowsROS
- 4.2.1 關於配置Oracle RestartOracleREST
- jupyter-kernelRestart:restart failedRESTAI
- for update和for update nowaitAI
- FOR UPDATE NOWAIT和 FOR UPDATEAI
- 4.2.4 向Oracle Restart 配置新增元件OracleREST元件
- 4.5 通過SRVCTL 呼叫Oracle RestartOracleREST
- android restart reason機制AndroidREST
- for update 和 for update of 有什麼區別
- 4.1.6 Oracle Restart 與 Oracle Data Guard 整合OracleREST
- pm2 重啟策略(restart strategies)REST
- (slave不停restart)mysqld got signal 11RESTMySqlGo
- mysql update join優化update in查詢效率MySql優化
- Oracle中的for update 和 for update nowaitOracleAI
- 4.1.4 關於啟動和停止Oracle RestartOracleREST
- 4.2.5 從 Oracle Restart 配置中刪除元件OracleREST元件
- 4.2.10.1 Oracle Restart 相關變數配置OracleREST變數
- docker-compose up start restart區別DockerREST
- oracle 11g中的 oracle restart特性OracleREST
- How To Restart timer service on all servers in farmRESTServer
- 【RAC】11gR2 新特性: Rebootless RestartbootREST
- 關於 select ... for update 和 for update nowaitAI
- (轉)資料庫oracle for update of和for update區別資料庫Oracle
- SQL__UPDATESQL
- MyBatis Batch Update Exception使用foreach批量update出錯MyBatisException
- 4.1.3 使用 Oracle Restart 元件啟停資料庫OracleREST元件資料庫
- hyperf 服務管理指令碼 start、restart、stop、status指令碼REST
- DQACP is missing Press Ctrl+Alt+Del to Restart(圖)REST
- Oracle 11gR2 New Features Oracle RestartOracleREST