Oracle的存储过程返回结果集的简化办法

来源:互联网 发布:北京航空航天大学网络 编辑:程序博客网 时间:2024/05/22 04:58

    在之前项目中遇到要使用存储过程中返回结果集的时候,我的做法是创建一个查询包,并在包里定义一个结果集类型,然后在这个包里写上查询的存储过程.往往是每一个查询包里都定义一次结果集类型.如下:
create or replace package pkg_query1 is
    type c_resultset_type is ref cursor;
    procedure proc_query_1
    (
        o_resultset out c_resultset_type;
       ......
    );
end pkg_query1;

create or replace package pkg_query2 is
    type c_resultset_type is ref cursor;
    procedure proc_query_2
    (
        o_resultset out c_resultset_type;
       ......
    );
end pkg_query1;

    这样重复定义类型,并不是必须的,可以用下边的办法替代:
create or replace package pkg_common is
    type c_resultset_type is ref cursor;
end pkg_common ;

create or replace proc_query_1
(
    o_resultset out c_resultset_type
)
is
    ......
begin
    ......
end;


create or replace proc_query_2
(
    o_resultset out c_resultset_type;
)
is
    ......
begin
    ......
end;

原创粉丝点击