oracle 存储过程中的双重循环怎么写呢,在线等答案,菜鸟级别的,最好给个例子不胜感激。

在线等,就大神知道,最好给个例子forrcin--获取采购单号(selectdistincta.poidfromPurchaseRecordawherea.purchas... 在线等,就大神知道,最好给个例子
for rc in --获取采购单号
(select distinct a.poid from PurchaseRecord a where a.purchasestate=1 and a.prtype=1)
loop
for pur in
(select distinct b.productid,b.arrivalnumber from PurchaseRecord b where b.purchasestate=1 and b.prtype=1 and b.poid=rc.poid)--获取该采购单号对应的采购记录
loop
begin
XXXX;
end;
end loop;
end loop;
这样写合适吗
展开
 我来答
badkano
推荐于2016-12-02 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部

先定义俩游标,数据如图,得出每个id下的两个项目

给你个例子吧,你这表我没摸清楚

declare

cursor cur_1 is select distinct sid from info order by sid;

cursor cur_2(v_sid number) is select sid,hobby from info where sid=v_sid and rownum<=2 order by sid;

begin

   for r_cur1 in cur_1

loop

  for r_cur2 in cur_2(r_cur1.sid)

loop

  dbms_output.put_line (r_cur2.sid||','||r_cur2.hobby);

end loop;

end loop;

end;

追问
我看了这个和我写的那个差不多,但是我的怎么报错呢。
追答
额,那把你需求和全部代码都发来吧,这么说我也说不好呀,还有报的啥错
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
greenhill9
2013-05-18 · 超过37用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:107万
展开全部
就这样写,合适
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式