求oracle批量更新sql语句。四表联合查询才可更新。急!!!

表A,B,C,D.表A(异动表):产品编号(A_BH),日期(A_RQ),出库单号(A_CKD)表B(出库档单头):出库单号(B_CKD),销售类型(B_XSD_T),销... 表A,B,C,D.
表A(异动表):产品编号(A_BH),日期(A_RQ),出库单号(A_CKD)
表B(出库档单头):出库单号(B_CKD),销售类型(B_XSD_T),销售单号(B_XSD_ID)
表C(出库档单身):出库单号(C_CKD),产品编号(C_BH)
表D(销售单异动):销售单号(XSD_ID),销售类型(XSD_T),单据项次(XSD_BH_ID),产品编号(XSD_BH),出库时间(XSD_DATE)
其中:
产品编号(A_BH)= 产品编号(C_BH)= 产品编号(XSD_BH);
出库单号(A_CKD)=出库单号(B_CKD);
出库单号(B_CKD)= 出库单号(C_CKD);
销售类型(B_XSD_T)= 销售类型(XSD_T);
销售单号(B_XSD_ID)= 销售单号(XSD_ID);

求SQL结果:将日期(A_RQ)的值更新为出库时间(XSD_DATE)的值。

提示:表D中,同一销售单异动可能多有个产品,以最后的出库时间为准

说明:此例子为精简了多余字段,紧紧将必须的字段列出。字段编号也是为了方便大家查看所更改。
谢谢大家了。。没多少分了。。
展开
 我来答
yile365
2013-04-25
知道答主
回答量:6
采纳率:0%
帮助的人:6.5万
展开全部
set serveroutput on;
declare cursor c_job is select a.A_RQ,d.XSD_ID from 异动表 a ,出库档单头 b , 出库档单身 c , 销售单异动 d
where a.A_CKD=b.B_CKD and b.B_CKD=c.C_CKD and b.B_XSD_ID=d.XSD_ID order by a.A_CKD,a.A_RQ
begin
for cur_stu in c_job
loop
update 销售单异动 set XSD_DATE=cur_stu.A_RQ where XSD_ID=cur_stu.XSD_ID
end loop;
end;
D表如果1条记录的话 多更新几次 排序下 最后一次更新的就是最大的时间
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式