在工作中可能会碰到编写数据库存储过程或者函数,这个时候肯定会考虑到自己所写的函数或是过程是否有返回值,若有,则返回什么值的问题。今天写一下如何返回结果集,当做自己的笔记。
如果要返回结果集,那么需要先定义好这个结果集。
创建部分:
create or replace package <返回结果集的类型名称>(例如 myType)
as
type <返回结果集的类型名称>(例如 myType) is ref cursor;
end;
然后是方法体部分:
create or replace function <方法名>(<参数名> <参数类型>(无长度))
return myType.myType(接上例)
is
rs myType.myType;
sqlStr varchar2(2000);
begin
sqlStr:=‘select * from XXX’;
open rs for sqlStr;
return rs;
end;
以上是一个简单的返回结果集的function例子。当然,存储过程也是一样的。
在java端取获得这个结果集的方式根据使用不一样的数据交互方式的不同而不同。