十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
rs_cursor out 是返回的游标,但是一般都不这么用,而且游标都要关闭,
瑞安网站建设公司成都创新互联,瑞安网站设计制作,有大型网站制作公司丰富经验。已为瑞安上千多家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的瑞安做网站的公司定做!
如果你想返回List 或结果集的话,不般都不用游标来返回记录集的,除非自定义oracle 或sqlserver的数据库 集合类型.
如果你是用java ,肯定用到 ibatis,hibernate 等数据中间件来查询返回结果,
例如ibatis的简单查询:
public ListOrder getOrdersNotInPackage(String tId) {
return this.getSqlMapClientTemplate().queryForList("getOrdersNotInPackage", tId);
}
调用xml 中配置的sql 来查询getOrdersNotInPackage 的sql ,输入参数是tId 。
在过程里判断很简单呀
CREATE OR REPLACE PROCEDURE TESTPROC(CUR OUT SYS_REFCURSOR)
AS
default_c SYS_REFCURSOR;
BEGIN
OPEN CUR FOR SELECT * FROM AA;
if CUR%rowcount = 0 then
CUR:=default_c;
end if;
END;
定义一个默认空游标,没数据就返回它呗
在java 中声明一个Oracle引用游标类型 类, 直接 .close()就可以关闭