PL SQL语句

[复制链接]
查看11 | 回复5 | 2010-10-15 16:26:42 | 显示全部楼层 |阅读模式
若 A表 中有字段 Aa Ab Ac

B表 中有字段 Ba Bb Bc
现需要更新 A表 中的字段Aa值为B表的Ba where条件为 A表Ab=B表Bb and A表Ac=B表 Bc 求达人帮忙。。。。
-1楼 没看太明白。能详细说说嘛?或者推荐本书。
-2,-3 返回值不是一行。

回复

使用道具 举报

千问 | 2010-10-15 16:26:42 | 显示全部楼层
Oracle 循环更新给你个例子:例如:今天,要做的事有点麻烦,需要根据主表的信息,来更新对应字表的几个字段。我的主表zy2_eqpmt 有4273条记录,根据目前自表的条件,从主表中获取run_date,orig_design_proc_capability,unit这三个字段的信息。开始遇到的麻烦是set的时候只能是单条的值,如果用子查询,返回数据信息是多行的。后来,考虑对单条信息处理,这样能够满足,但是记录条数很多,最后的解决就是使用循环的方式,在4273条记录中依次判断更新,哈哈,搞定。beginFOR i IN 1 .. 4273 LOOP UPDATEZY2_EQPMT_DTL a
回复

使用道具 举报

千问 | 2010-10-15 16:26:42 | 显示全部楼层
Update A set a.Aa=B.Bafrom A inner join B on A.Ab=B.Bb and A.Ac=B.Bc希望你能采纳!谢谢!
回复

使用道具 举报

千问 | 2010-10-15 16:26:42 | 显示全部楼层
update a set aa=(select ba from b where a.ba=b.bb and a.ac=b.bc)
回复

使用道具 举报

千问 | 2010-10-15 16:26:42 | 显示全部楼层
update a set a.aa=(select b.ba from b where a.ab=b.bb and a.ac=b.bc)where exists (select '1' from b where a.ab=b.bb and a.ac=b.bc)
回复

使用道具 举报

千问 | 2010-10-15 16:26:42 | 显示全部楼层
UPDATEASETAb = B.BaFROMA, BWHEREA.Ab = B.BbAND A.Ac = B.bc不知道行不行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行