oracle里面,一个存储过程需要返回多个结果集,应该咋整

bjy_ly 2014-03-28 05:12:34
oracle里面,一个存储过程需要返回多个结果集
t1:条件*******
t2:表1的从表,select t2.* from t2 where t1id in (t1.id where t1条件)
t3: 表1的从表,select t3.* from t3 where t1id in (t1.id where t1条件)
t4: 表1的从表,select t4.* from t4 where t1id in (t1.id where t1条件)
t5: 表1的从表,select t5.* from t5 where t1id in (t1.id where t1条件)

应该咋整
要用临时表?还是要每个结果集的 in里面都要加上t1的条件?
我也是个菜鸟,刚接触oracle,但是我还是希望有高效点的解决办法
...全文
207 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
漠北雁 2014-04-01
  • 打赏
  • 举报
回复

--給你一個例子參考一下
--REF CURSOR返回結果集,你可以設置多個OUT參數分別代表不同的結果集
CREATE OR REPLACE PROCEDURE testka02(
    p_co      IN VARCHAR2,
    p_classid IN VARCHAR2,
    p_tja     OUT sys_refcursor
)AS

BEGIN
   OPEN p_tja FOR SELECT * FROM student WHERE co=p_co AND classid LIKE p_classid ;
   EXCEPTION WHEN No_Data_Found THEN
     p_tja:=NULL;
END testka02;


sych888 2014-04-01
  • 打赏
  • 举报
回复
用游标...........
卖水果的net 2014-03-30
  • 打赏
  • 举报
回复
定一个包,包里有一个cursor ,返回结果直接引用这个包就OK了。
流浪川 2014-03-28
  • 打赏
  • 举报
回复
直接将返回类型定义为cursor呗。 根据不同条件打开不同的游标,并将游标返回就行了。

17,088

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧