首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dbms_sql.to_cursor_number -获取SYS_REFCURSOR的无效游标错误

dbms_sql.to_cursor_number -获取SYS_REFCURSOR的无效游标错误
EN

Stack Overflow用户
提问于 2012-05-14 12:34:38
回答 1查看 2.1K关注 0票数 0

我有以下用于创建表和视图的代码。

代码语言:javascript
复制
create table test_company
(
    comp_id number
    , comp_name varchar2(500)
)
;
insert into test_company values(1, 'CompanyA');
insert into test_company values(2, 'CompanyB');
insert into test_company values(3, 'CompanyC');
create or replace view test_company_view as select * from test_company;

我有以下代码用于我的光标测试。但是dbms_sql.to_cursor_number得到了错误ORA-01001: invalid cursor

代码语言:javascript
复制
set serveroutput on;
declare
    reader test_company_view%ROWTYPE;
    datacursor SYS_REFCURSOR;
    v_cursor_id number;
begin
    open datacursor for select * from test_company_view;
    v_cursor_id := dbms_sql.to_cursor_number(datacursor); -- ERROR: invalid cursor
    loop fetch datacursor into reader;
        exit when datacursor%NOTFOUND;
        dbms_output.put_line(reader.comp_id);
    end loop;
    close datacursor;
end;

我做错什么了?感谢您的帮助!

我已经尝试过strongly-typed REF CURSORweakly-typed REF CURSOR,但它们得到了相同的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-14 18:51:42

documentation

将引用游标变量转换为

游标数字后,本机动态SQL操作将无法访问该变量。

引发错误的不是dbms_sql.to_cursor_number,而是fetch datacursor into reader,因为无法再访问datacursor

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10577543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档