以下是一段关于游标变量的代码:
create or replace procedure test_hidden_cur(cv_results in out sys_refcursor) is
begin
  open cv_results for
  select id, first_name, last_name
  from authors;
 
end test_hidden_cur;
书上说要测试这段代码,就用如下代码:
COL first_name FORMAT A12
VARIABLE x REFCURSOR
EXEC authors_sel(:x)
PRINT x
但是,我在PLSQL DEVELOPER中的SQL窗口里测试时的情况就是不行
SQL> COL first_name FORMAT A12
SQL> VARIABLE x REFCURSOR
REFCURSOR not supportedSQL> EXEC authors_sel(:x)begin authors_sel(:x); end;Cursor variable :X cannot be nil
x
---------
0SQL> PRINT x
x
---------
0SQL> 
请问这是怎么回事?请问如何在调试过程中监视这样的游标变量?

解决方案 »

  1.   

    SQL> VARIABLE x REFCURSOR
    REFCURSOR not supported看清出语法,你些错了 VARIABLE x REF CURSORref和cursor之间要空格的
      

  2.   

    SQL> VARIABLE x REF CURSOR
    REFCURSOR not supported
    一样的结果,报错!
      

  3.   

    zai pl/sql developer的test 窗口很好用.为什么不测试一下了.也可以调适的.
      

  4.   

    错了,sqlplus的时候是refcursor的,呵呵你什么版本?我的10g
    用法: VAR[IABLE] [ <variable> [ NUMBER | CHAR | CHAR (n [CHAR|BYTE]) |
                       VARCHAR2 (n [CHAR|BYTE]) | NCHAR | NCHAR (n) |
                       NVARCHAR2 (n) | CLOB | NCLOB | REFCURSOR |
                       BINARY_FLOAT | BINARY_DOUBLE ] ]
    正常
      

  5.   

    不行呀,我用的就是PL/SQL DEVELOPER调试,而且,我的环境就是ORACLE10G
      

  6.   

    在各位高人指点下,目前在ORACLE10G的SQLzhong中调试通过,但是在:
    PL/SQL Developer
      Version 6.0.4.906 (MBCS)
      20000.6320 - Unlimited user license
      Windows XP version 6.0 (build 2600) Service Pack 2
      Language: 简体中文  (姜华东)
      
      Physical memory : 1,047,856 kB  (495,548 available)
      Paging file     : 2,519,572 kB  (2,049,628 available)
      Virtual memory  : 2,097,024 kB  (1,995,920 available)Parameters
      C:\Program Files\PLSQL Developer\plsqldev.exePreferences
      Session mode: Multi
      OCI Library: 
      Use OCI7: FalsePlug-InsAliases
      EXTPROC_CONNECTION_DATA
      ORCL10G
      tchlink_utf
      YXPHomes
      oracle8i  (d:\oracle8i)
      OraDb10g  (D:\oracle10g\10.1.0\db_1)
      OraHome92  (D:\ora92)DLLs
      D:\oracle10g\10.1.0\db_1\bin\oci.dllTNS File
      D:\oracle10g\10.1.0\db_1\Network\Admin\tnsnames.oraUsing
      Home: OraDb10g
      DLL: D:\oracle10g\10.1.0\db_1\bin\oci.dll
      OCI: version 9.2
      Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 
      Character size: 3 byte(s)
    我的PL/SQL DEVELOPER中无法调试通过。报错:(在COMMAND窗口中)
    SQL> VARIABLE x REF CURSOR;
    REFCURSOR not supported
    ----怎么办?