定义了一个游标,用其抽取数据(符合条件的记录数大约15万左右),但发现实际只能取出部分且每次运行得到的最终结果都不一致,其间系统没有任何错误提示,如果增加限制使结果集数量小于5万,则能完全取出.故怀疑oracle中游标所能返回的最大记录数受一定限制.不知如何查看或配置这一设置.谢谢.

解决方案 »

  1.   

    SQL> show parameter open;
     
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    open_cursors                         integer     300把这个参数改大一些看看!
      

  2.   

    应该没有,只有15万记录可以直接使用pl/sql developer测试下,估计还是你程序的问题
      

  3.   

    open_cursors是用来确定oracle最多可以打开多少个cursor的,和单个cursor没啥关系哈。每次结果不一致的原因是不是你没有使用order by ,不使用order by 则记录顺序不能保证。完全同意楼上的说法。
      

  4.   

    应该没有的.我昨天用cursor提起100w的数据都没有问题的
      

  5.   

    目前没有碰到问题,最多取了十万,输出到dbms_output都没有问题