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

存储过程是没有返回值的,只是在参数列表中使用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 
    原文作者:黄宝康
    原文地址: https://blog.csdn.net/huangbaokang/article/details/95384872
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞