您的位置:首页 > 数据库

存储过程要返回结果集

2007-04-25 20:21 218 查看
存储过程要返回结果集,并且有多个参数,有的参数的值是空值,是空值的不考虑,我该怎样写这个存储过程
发布时间: 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>
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  存储 sql 文档 null