下面我们以 Oracle 为例创建一个带游标返回的存储过程。(注:Oracle数据库存储过程的out参数只支持游标类型的注:存储过程的out参数只支持游标类型的,并且游标需要放置在最后一个位置)
代码块 |
---|
language | sql |
---|
linenumbers | true |
---|
|
create or replace procedure "FOODMART"."SP_ACCOUNT"(I_ID in number,cur out RefCursorPkg.tRefCursor) as
begin
open cur for
select * from account where account_parent = I_ID
order by account_id;
end; |
其中存储过程中的返回值 RefCursorPkg.tRefCursor 是在ORACLE包头里创建的一个TYPE变量,需要先建,脚本如下。
代码块 |
---|
language | sql |
---|
linenumbers | true |
---|
|
create or replace package RefCursorPkg
as
type tRefCursor is ref cursor ;
end; |