存储过程要返回结果集
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>
发布时间: 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>
相关文章推荐
- jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- Oracle利用存储过程返回结果集开发报表 推荐
- Oracle中返回结果集的存储过程(转帖 网摘)
- php调用mysql存储过程返回结果集的处理
- IBatis调用ORACLE的存储过程、函数的返回结果集例子
- 调用带参数的存储过程,并返回结果集--oracle
- Oracle中返回结果集的存储过程
- Java调用存储过程二(返回一行或多行结果集)
- JDBC调用返回结果集的存储过程
- mysql调用存储过程无法返回结果集的问题
- Oracle的存储过程返回结果集的简化办法
- Mybatis中调用返回结果集的存储过程
- jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- Oralce中返回结果集的存储过程ref cursor
- ThinkPHP调用存储过程不能返回结果集的解决方案
- Mysql 动态sql语句返回结果集-存储过程
- ThinkPHP调用存储过程不能返回结果集的解决方案
- ThinkPHP调用存储过程不能返回结果集的解决方案
- php调用mysql存储过程返回结果集的处理