oracle存储过程返回一个结果集

本文探讨了如何在Oracle中通过存储过程和函数返回结果集。介绍了使用IN, OUT参数在存储过程中处理输出变量,特别是如何返回数字型结果和定义游标类型以返回结果集。此外,还讲解了在SQL*Plus中使用变量和print命令显示存储过程的输出,以及通过函数返回自定义游标类型的方法。" 22484809,125541,Asterisk12安装及配置PJSIP模块详解,"['Asterisk', 'PJSIP', 'SIP协议栈', '通信']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存储过程是没有返回值的,只是在参数列表中使用in,out类型参数来区分输入变量参数和输出参数,在sqlplus中,我们可以进行打印输出。
关于输出变量的类型,其实简单点可以是字符型,数字型,复杂点可以是结果集,任意自定义类型。
而函数必须有返回值,所以在这篇博客讲的存储过程返回值是针对输出参数的。

返回一个数字型

create or replace procedure hbk_out(result out number) is
begin
	result:=100;
end;

调用我们可以如下

SQL> set serveroutput on
SQL> declare
  2  abc number;
  3  begin
  4  hbk_out(abc);
  5  dbms_output.put_line(abc);
  6  end;
  7  /
100

也可以使用sqlplus命令variable定义变量,然后使用print打印变量的值。(个人推荐的方法)

SQL> variable zll number;
SQL> execute hbk_out(:zll);

PL/SQL procedure successfully completed.

SQL> print zll;

       ZLL
----------
       100

存储过程返回一个结果集

同理,我们只需要让out参数的类型变成游标类型,更进一步,我们还可以自定义类型,如游标指针
定义包头

create or replace package hbk_return_result as
	type type_cursor is ref cursor;--定义游标指针,这里为一种新的类型
	procedure getAll(p in o
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄宝康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值