
求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中,同一销售单异动可能多有个产品,以最后的出库时间为准
说明:此例子为精简了多余字段,紧紧将必须的字段列出。字段编号也是为了方便大家查看所更改。
谢谢大家了。。没多少分了。。 展开
表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中,同一销售单异动可能多有个产品,以最后的出库时间为准
说明:此例子为精简了多余字段,紧紧将必须的字段列出。字段编号也是为了方便大家查看所更改。
谢谢大家了。。没多少分了。。 展开
1个回答
展开全部
set serveroutput on;D表如果1条记录的话 多更新几次 排序下 最后一次更新的就是最大的时间
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;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询