如下题 请经常写存储过程 懂数据库Oracle 或者你知道如何写都帮帮我
更新khexpinfo表的历史数据customer_id 的值,根据khexpInfo表的id与centerMaterialuseDetail表export_Uid关联,--centerMaterialuseDetail表的batchinfoUId与Batchinfo表的fuid关联,得到customer_id--用distinct关键字,如果结果记录数大于1则不需要处理,--否则就将khexinfo表的customer_id更新为所查出的customer_Id值
-- 先根据khexpinfo的id查询,若记录数大于1则不执行第2条更新语句,否则执行第2条语句更新语句select distinct b.customer_id from centermaterialusedetail c ,batchinfo b where c.export_uid='154461' and c.batchinfo_uid=b.fuid;
update khexpinfo set customer_id=(select distinct b.customer_id from centermaterialusedetail c ,batchinfo b where c.export_uid='154461' and c.batchinfo_uid=b.fuid) where id=154461;
我这样只能一条一条更新,谁会写歌存储过程 ,循环帮我更新,一条一条更新真的不现实啊
人气:326 ℃ 时间:2019-10-10 08:12:17
解答
create procedure test is
cursor custom_list is
select id from khexpinfo;
custom_dic custom_list%ROWTYPE;
my_custom_id in number(20);
begin
for custom_dic in custom_list loop
begin
select distinctb.customer_id into my_custom_id from centermaterialusedetail c ,batchinfo b where c.export_uid=custom_dic.id and c.batchinfo_uid=b.fuid;
update khexpinfo set customer_id=my_custom_id where id=custom_dic.id;
exception when others then
my_custom_id:=0;
end;
end loop;
commit;
end;
推荐
- 在下表的空格中填上合适的数
- 从生活走向化学,从化学了解生活.翻译成英文是什么
- 英语听力中day和date怎么区分
- 有五条线段长度分别为1,3,5,7,9,从这5条线段中任取3条,则所取3条线段能构成一个三角形的概率为
- 在直线上画出表示下面分数的点
- 将3,-3,3,7进行混合运算,(每个数只能用一次),使结果为24或-24
- none of them在定语从句中为什么不能代替none of which
- 如图,四边形ABCD是⊙O的内接正方形,P是劣弧AB的中点,PD与AB交于点E,求PE/DE的值
猜你喜欢
- 一个长方体的长,宽,高之比3:2:2,已知这个长方体的棱长总和为280厘米,问这个长方体的体积是多少立方分米
- 英语翻译
- 我的理想——老师600字作文
- 花漂亮【扩句】
- 《哨卡》 文中画横线的句子描写了( ),目的是( )
- 台秤上放倾角X,质量M的斜面,斜面上一物体质量m以加速度a下滑,台秤示数为多少?
- ()地取下来,形容词、动词.
- 一个圆柱体的底面周长是31.4厘米,侧面积是251.2平方厘米,这个圆柱体的体积多少?