这代码中的冒号(:)是什么意思呢?VARIABLE x REFCURSOR
EXEC authors_sel(:x)
print x

解决方案 »

  1.   

    什么语言啊?
    貌似存储过程,有PRINT吗?没用过这个
      

  2.   

    x 是一个主变量
    主变量是一个声明在主环境中的变量,它会被传递到一个或多个PL/SQL程序中,
    在程序中可以跟其他的变量一样使用。
    SQL*Plus和PL/SQL都能引用主变量,SQL*Plus还可以显示主变量的值。
    但是,在PL/SQL中引用主变量的时候,我们必须加上冒号(:)前缀
      

  3.   

    PL/SQL程序中应该是表示变量吧
      

  4.   

    PB中的传入的变量
    SQL的外部变量
      

  5.   

    最近也刚接触 oracle 学习!学习!
      

  6.   

    呵呵,好老的帖子.
    不过明显是sqlplus里执行的.
    :x表示引用sqlplus中定义的变量
      

  7.   

    sqlplus中定义的变量就需要那样用,oracle有的规定就是挺匪夷所思的!
      

  8.   

    这里是
    sqlplus环境里VARIABLE定义的变量如果plsql里,trigger里new old可以用:
      

  9.   

    外部调用的话 也不会用 exec 和 VARIABLE 定义变量啊。
    具体不清楚,反正不想 java写的。 也应该不是直调sql吧