解决方案 »

  1.   

    cursor 与refcursor及sys_refcursor的区别看看这个,应该有帮助
      

  2.   

    自定义游标类型和sys_refcursor 有什么区别?
      

  3.   

    ①REF CURSOR 为动态游标,分为强类型(定义时制定返回类型,只能返回某一类型结果集)和弱类型(不指定返回类型如你的情形(1),可匹配任意结果集);
    ②SYS_REFCURSOR 为系统预定义的弱类型动态游标,用法跟REF CURSOR的弱类型一致,定义时也不用指定返回结果集类型,可匹配任意结果集类型(你的情形(2))。
      

  4.   

    正如9#解释的一样,其实你这里的用法没有什么区别,因为你的ref游标是弱类型,和系统游标一样可以用的时候进行初始化,而且结果集不定,。我觉得唯一的不同是ref既可以当强类型又可以当弱类型使用,也就是说它能够兼顾普通游标和系统游标的所有特点
      

  5.   

    (1)游标中为弱类型,不指定返回类型,可匹配任意结果集;(2)弱类型动态游标,用法跟REF CURSOR的弱类型一致,定义时也不用指定返回结果集类型,可匹配任意结果集类型。
    两个游标的区别在何处呢?难道是oracle10G开始为了方便用户,可以不用在包头定义游标,但是还保留了10G之前的定义方式吗?
      

  6.   

    谢谢,ref既可以当强类型又可以当弱类型使用,也就是说它能够兼顾普通游标和系统游标的所有特点 ,而sys_refcursor只能是弱类型。我可以这样理解吗?