下面我们以 Oracle 为例创建一个带游标返回的存储过程。(注:Oracle数据库存储过程的out参数只支持游标类型的)
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变量,需要先建,脚本如下。
create or replace package RefCursorPkg as type tRefCursor is ref cursor ; end;