存储过程要返回结果集

存储过程要返回结果集,并且有多个参数,有的参数的值是空值,是空值的不考虑,我该怎样写这个存储过程

发布时间: 2006-12-15 ; 上次回复: 2006-12-15; 总计回复: 2人次

首先要返回结果集,并且有多个参数,比如有:id,name,org_id,industry_id,

如果上面的参数中的值为空的话就不用这个参数进行条件的限制,如果不为空,就在where 语句中写,我该怎样写这个存储过程?给个大概的结构即可,谢谢

坚持信念 [等级:◆(初级)] (信誉值: 100) 回复于: 2006-5-22 15:43:27 Top

使用动态SQL和引用游标可以解决你的这个问题~~

动态SQL(SAMPLE):

l_SQL := 'SELECT * FROM XXXX WHERE ';

IF id IS NOT NULL THEN

l_SQL := l_SQL || 'id = ' || id;

END IF;

引用游标(步骤):

先在找个地方定义你的应用游标(SYS_REFCURSOR),一般写成输出参数,即

RS OUT SYS_REFCURSOR

然后在过程中写上

OPEN RS FOR l_SQL;

这样就可以了

 

源文档 <http://dev.cbw.com/oracle/base/20066166101_4769786.shtml>

 

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值