关于游标变量的测试问题

yy 2006-08-03 09:44:07
以下是一段关于游标变量的代码:
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 supported

SQL> EXEC authors_sel(:x)

begin authors_sel(:x); end;

Cursor variable :X cannot be nil
x
---------
0

SQL> PRINT x
x
---------
0

SQL>
请问这是怎么回事?请问如何在调试过程中监视这样的游标变量?

...全文
211 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yy 2006-08-04
  • 打赏
  • 举报
回复
自己顶下
yy 2006-08-04
  • 打赏
  • 举报
回复
在各位高人指点下,目前在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.exe

Preferences
Session mode: Multi
OCI Library:
Use OCI7: False

Plug-Ins

Aliases
EXTPROC_CONNECTION_DATA
ORCL10G
tchlink_utf
YXP

Homes
oracle8i (d:\oracle8i)
OraDb10g (D:\oracle10g\10.1.0\db_1)
OraHome92 (D:\ora92)

DLLs
D:\oracle10g\10.1.0\db_1\bin\oci.dll

TNS File
D:\oracle10g\10.1.0\db_1\Network\Admin\tnsnames.ora

Using
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
----怎么办?
yy 2006-08-04
  • 打赏
  • 举报
回复
不行呀,我用的就是PL/SQL DEVELOPER调试,而且,我的环境就是ORACLE10G
NinGoo 2006-08-03
  • 打赏
  • 举报
回复
错了,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 ] ]
正常
多壮志 2006-08-03
  • 打赏
  • 举报
回复
zai pl/sql developer的test 窗口很好用.为什么不测试一下了.也可以调适的.
yy 2006-08-03
  • 打赏
  • 举报
回复
SQL> VARIABLE x REF CURSOR
REFCURSOR not supported
一样的结果,报错!
NinGoo 2006-08-03
  • 打赏
  • 举报
回复
SQL> VARIABLE x REFCURSOR
REFCURSOR not supported

看清出语法,你些错了

VARIABLE x REF CURSOR

ref和cursor之间要空格的

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧