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;
这样写合适吗 展开
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;
这样写合适吗 展开
2个回答
展开全部
先定义俩游标,数据如图,得出每个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;
追问
我看了这个和我写的那个差不多,但是我的怎么报错呢。
追答
额,那把你需求和全部代码都发来吧,这么说我也说不好呀,还有报的啥错
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就这样写,合适
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询