关于打开游标的那些事

来源:互联网 发布:nginx 参数优化 编辑:程序博客网 时间:2024/06/05 22:42
----------------------------------------------------------------------SQL> begin  2  for i in 1 .. 50000  3  loop  4  insert into t1 values(i,'a');  5  commit;  6  end loop;  7  end;  8  /PL/SQL procedure successfully completed.SESSION 1:执行  1   declare  2 cursor cur1 IS  3 select a.rowid,a.id from t1 a;  4 begin  5 for row in cur1 loop  6 DBMS_OUTPUT.PUT_LINE('last name: '||row.ID||'--'||row.ROWID);  7 end loop;  8* end;开始执行后在SESSION 2:insert into t1 values(99999999,'xxxx');commit;此时查看SESSION 1的spool日志:

last name: 49986--AAATA1AAEAAAE7GAAilast name: 49987--AAATA1AAEAAAE7GAAjlast name: 49988--AAATA1AAEAAAE7GAAklast name: 49989--AAATA1AAEAAAE7GAAllast name: 49990--AAATA1AAEAAAE7GAAmlast name: 49991--AAATA1AAEAAAE7GAAnlast name: 49992--AAATA1AAEAAAE7GAAolast name: 49993--AAATA1AAEAAAE7GAAplast name: 49994--AAATA1AAEAAAE7GAAqlast name: 49995--AAATA1AAEAAAE7GAArlast name: 49996--AAATA1AAEAAAE7GAAslast name: 49997--AAATA1AAEAAAE7GAAtlast name: 49998--AAATA1AAEAAAE7GAAulast name: 49999--AAATA1AAEAAAE7GAAvlast name: 50000--AAATA1AAEAAAE7GAAw

PL/SQL procedure successfully completed.

没有SESSION 2上的:select rowid ,t1.* from t1 where t1.id=99999999;ROWID ID NAME------------------ ---------- ----------AAATA1AAEAAAE7fAAC 99999999 xxxx没有后来插入的t1.id=99999999的信息实验说明:返回的结果集在打开的那一刻(时间点)就已经确定------------------------------------------------------------

0 0