Oracle遊標開啟時遇到併發更新
以前,只知道Oracle的遊標裡包含的資料在開啟的那一刻已經確定了,但是自己沒有實際去驗證過。今天做了一次測試,發現情況確實如此
建表:
create table test_cursor(
id number,
c_name varchar2(20)
);
insert into test_cursor values(1, 'A');
commit;
執行一段PL/SQL程式碼列印出表裡的內容:
declare
cursor cur_test is select * from test_cursor;
v_test_cursor test_cursor%rowtype;
begin
open cur_test;
dbms_lock.sleep(60);
loop
fetch cur_test into v_test_cursor;
exit when cur_test%notfound;
dbms_output.put_line(v_test_cursor.id || ':'||v_test_cursor.c_name);
end loop;
close cur_test;
end;
在sleep的時候,開啟另外一個程式向表裡插入幾條資料:
insert into test_cursor values(2, 'B');
insert into test_cursor values(3, 'C');
insert into test_cursor values(4, 'D');
commit;
等待匿名程式碼塊執行結束,輸出是:
1:A
建表:
create table test_cursor(
id number,
c_name varchar2(20)
);
insert into test_cursor values(1, 'A');
commit;
執行一段PL/SQL程式碼列印出表裡的內容:
declare
cursor cur_test is select * from test_cursor;
v_test_cursor test_cursor%rowtype;
begin
open cur_test;
dbms_lock.sleep(60);
loop
fetch cur_test into v_test_cursor;
exit when cur_test%notfound;
dbms_output.put_line(v_test_cursor.id || ':'||v_test_cursor.c_name);
end loop;
close cur_test;
end;
在sleep的時候,開啟另外一個程式向表裡插入幾條資料:
insert into test_cursor values(2, 'B');
insert into test_cursor values(3, 'C');
insert into test_cursor values(4, 'D');
commit;
等待匿名程式碼塊執行結束,輸出是:
1:A
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8520577/viewspace-1063242/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle開發基礎-遊標Oracle
- Oracle遊標Oracle
- Oracle 遊標Oracle
- Oracle 觸發器中使用遊標Oracle觸發器
- 【開發篇plsql】plsql遊標SQL
- Oracle遊標示例Oracle
- Oracle遊標大全Oracle
- 統計session 開啟的遊標數目Session
- Oracle動態遊標Oracle
- 資料庫開發---常用物件-遊標資料庫物件
- Oracle遊標共享,父遊標和子游標的概念Oracle
- iOS開發中遇到的那些坑,持續更新iOS
- oracle cursor遊標迴圈比較遊標元素是否相同Oracle
- oracle遊標使用全解Oracle
- Oracle 遊標使用全解Oracle
- [轉]oracle 遊標使用大全Oracle
- Oracle 遊標使用大全(轉)Oracle
- Oracle遊標使用大全(轉)Oracle
- Oracle遊標共享(Cursor Sharing)--常規遊標共享和自適應遊標共享(ACS)Oracle
- Oracle EBS併發請求啟用跟蹤Oracle
- Oracle自適應共享遊標Oracle
- Oracle使用cursor for隱式遊標Oracle
- Oracle顯示遊標的使用及遊標for迴圈Oracle
- 關於struts開發時遇到的問題
- Oracle - 共享遊標、父子游標、硬軟解析Oracle
- Git合併時遇到衝突或錯誤後取消合併Git
- Oracle 11.1 自適應遊標Oracle
- 【CURSOR】Oracle 遊標 (cursor)知識梳理Oracle
- Oracle動態語句中返回遊標Oracle
- oracle遊標簡單使用小記Oracle
- Oracle Package返回遊標 和 java呼叫OraclePackageJava
- oracle 遊標中使用 動態 sqlOracleSQL
- oracle cursor遊標獲取首末元素Oracle
- Oracle資料庫遊標使用大全Oracle資料庫
- oracle遊標批次處理資料Oracle
- Oracle EBS 基於Host併發程式的開發Oracle
- 前端開發中遇到的一些問題----持續更新前端
- AS Notes|記錄日常開發遇到的 AS 問題(不斷更新。。。