zoukankan      html  css  js  c++  java
  • 关于打开游标的那些事

    ----------------------------------------------------------------------
    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--AAATA1AAEAAAE7GAAi last name: 49987--AAATA1AAEAAAE7GAAj last name: 49988--AAATA1AAEAAAE7GAAk last name: 49989--AAATA1AAEAAAE7GAAl last name: 49990--AAATA1AAEAAAE7GAAm last name: 49991--AAATA1AAEAAAE7GAAn last name: 49992--AAATA1AAEAAAE7GAAo last name: 49993--AAATA1AAEAAAE7GAAp last name: 49994--AAATA1AAEAAAE7GAAq last name: 49995--AAATA1AAEAAAE7GAAr last name: 49996--AAATA1AAEAAAE7GAAs last name: 49997--AAATA1AAEAAAE7GAAt last name: 49998--AAATA1AAEAAAE7GAAu last name: 49999--AAATA1AAEAAAE7GAAv last 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的信息 实验说明:返回的结果集在打开的那一刻(时间点)就已经确定 ------------------------------------------------------------

  • 相关阅读:
    js_类数组转化为数组
    js_立即执行函数
    react-router详解
    闭包_详解
    react_生命周期执行顺序
    Git-Gitlab-Genkins持续集成
    java 通用查询
    java-JDBC事务
    java中的session和cookie实现购物车的结算和清空
    servlet服务器
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/3798043.html
Copyright © 2011-2022 走看看