Sqlplus中调试带cursor的存储过程

存储过程

存储过程 create or replace package pkg_test as
  type t_cursor is ref cursor;
  procedure sp_get_catalogs(p_userid in number, cur_catalogs out t_cursor);
end; create or replace package body pkg_test as
  procedure sp_get_catalogs(p_userid in number, cur_catalogs out t_cursor) is
    v_sql varchar2(500);
  begin
    if p_userid = 0 then
      open cur_catalogs for
        select userid, loginid, name from tuser;
    else
      v_sql := 'select userid,loginid,name from tuser where userid=:w_userid';
      open cur_catalogs for v_sql
        using p_userid;
    end if;
  exception
    when others then
      dbms_output.put_line('other exception');
  end sp_get_catalogs;
end pkg_test;Sqlplus调试代码 variable v_cur refcursor;
variable v_userid number;
set autoprint off;
begin
    :v_userid := -9222229;
end;
/
execute pkg_test.sp_get_catalogs(:v_userid, :v_cur);
print v_cur;总结 pl/sql developer 里的Command Window里面输入(Sqlplus调试代码)调试存储过程会出现“refcursor don't supported!“的错误,换到sqlplus里面调试一切正常。参考文档 SQL*Plus User's Guide and Reference Release 9.2

 

 

时间: 2024-08-03 03:02:21

Sqlplus中调试带cursor的存储过程的相关文章

SqlPlus 中,如何查看某存储过程的内容?

select text from all_source where name = '存储过程名';  例如建立存储过程的语句为: CREATE OR REPLACE PROCEDURE EMP_COUNT AS V_TOTAL NUMBER(10); BEGIN SELECT COUNT(*) INTO V_TOTAL FROM EMP; DBMS_OUTPUT.PUT_LINE('雇员总人数为:'||V_TOTAL); END; 执行查询语句为: select text from all_so

gridview中调用带参数的存储过程,出现错误,提示"未提供该参数"

问题描述 存储过程:Createprocdeltractor(@idint,@marknumchar)asDELETEFROMdbo.tractorinfoWHERE(dbo.tractorinfo.id=@id)DELETEFROMdbo.stateWHERE(dbo.state.marknum=@marknum)returngoC#代码:<asp:GridViewID="GridView1"DataKeyNames="id".....<asp:Sql

在PL/SQL 开发中调试存储过程和函数的一般性方法

存储过程|函数 在PL/SQL 开发中调试存储过程和函数的一般性方法摘要: Oracle 在PLSQL中提供的强大特性使得数据库开发人员可以在数据库端完成功能足够复杂的任务, 本文将结合Oracle提供的相关程序包(package)以及一个非常优秀的第三方开发工具来介绍在PLSQL中开发及调试存储过程的方法,当然也适用于函数. 版权声明: 本文可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息.原文出处: http://www.aiview.com/notes/ora_using_

在VB.NET中调试存储过程

存储过程 调试是编写应用程序的一个主要部分.Visual Studio .NET为自带的调试器提供了大量的增强性能,包括统一的调试界面.Web service调试以及跨语言调试.这种调试器的一个最有用的新功能体现在对存储过程的调试性能上.本文我将介绍在VS.NET中对SQL Server 2000存储过程进行调试的几种可选方法,以及你可能会遇到的一些配置问题. 许多商家使用SQL Server作为数据库,并将存储过程作为将数据返回VB中的机制,因此对存储过程进行逐步调试的能力成为开发的关键.Vi

oracle-求助诸君:EF调用Oracle包中带游标的存储过程

问题描述 求助诸君:EF调用Oracle包中带游标的存储过程 大家好,项目开发时遇到了瓶颈,是关于EF6调用Oracle包中带游标的存储过程,小弟尝试了N遍后,还是百试不得其解,望诸君助小弟一臂之力. Oracle packages如下:--------------分割线-----------------------------Oracle package bodies如下: ----------------------分割线----------------------------- 这是ADO

SqlDataReader执行带输出参数存储过程的错误分析

在上一篇随笔:SqlDataReader读取分页数据,pageCount你是肿么了? 遇到了很让人头疼的问题:SqlDataReader执行带输出参数的存储过程总是获取不到输出参数的正确值.这里将解决办法及分析过程列出,为遇到相同问题的小伙伴提供一种解决方案. 在SqlDataReader读取分页数据,pageCount你是肿么了?的评论中有博友提出将 param[2].Direction = ParameterDirection.Output; 该句代码放在执行查询前,确实有这一部分原因.按照

调试SQL Server的存储过程及用户定义函数

server|存储过程|函数 1.在查询分析器中调试 查询分析器中调试的步骤如下:    SQL 2000查询分析器        --左连的对象浏览器(没有的话按F8)        --对象项中        --右键调试的存储过程        --调试        --输入参数(必须输入所有的参数,包括默认值/输出参数        --点击执行        --出现一个浮动工具条        --上面有单步执行,断点设置等 按F11是单步执行. 如果要运行到指定行,只需要将光标移

《Ext JS权威指南》——3.3节在Chrome中调试

3.3 在Chrome中调试 谷歌浏览器目前也很多人在使用,它自身带了一个如图3-43所示的调试工具,功能和Firebug大同小异.在Chrome主菜单中打开工具菜单,在子菜单中选择开发人员工具即可打开.与Firebug比较,它少了DOM查看器,不过在Chrome中查看DOM节点的功能比在IE中强,例如,在控制台输入window,Chrome中会以树结构显示window对象的所有属性,而不是像IE那样使用省略号.但控制台中没有多行命令行模式,非常不方便.不过对Firebug的命令支持比微软强大.

IIS7.5中调试.Net 4.0网站出现无厘头、500错误的解决方法_win服务器

刚刚 部署了ii7的dll的有x86写的,就会出现以下这样的问题 iis 7 x86,Could not load file or assembly 'Name' or one of its dependencies. An attempt was made to load a program with an incorrect format. 解决这样的,只要设置一下iis兼容x86程序就可以了,具体步骤: 1.开始-> 运行 2. 3. 高级设置, Enable 32 - Bit Appli