首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

怎样实现两张表多个字段的更新,该怎么解决

2012-02-10 
怎样实现两张表多个字段的更新例如A表存在一下字段:AIDA1A2A3A4B表中存在字段:BIDB1B2B3B4如果实现用B表的

怎样实现两张表多个字段的更新
例如A表   存在一下字段:
AID       A1         A2           A3       A4

B表中存在字段:
BID       B1         B2           B3       B4

如果实现用B表的所有字段更新A表中相应的字段,在MS   SQL   Server里面可以写成:
update   A
set   A1=B.B1,A2=B.B2,A3=B.B3,A4=B.B4
from   A,B
where   A.AID=B.BID

但是在oracle   9i里面怎么样,好像向SQL   Server不一样?
请各位大侠帮助!


[解决办法]
update A
set (A1,a2,a3,a4) = (
select b.b1,b.b2,b.b3,b.b4
from B
where A.AID=B.BID)
[解决办法]
update a
set (a1,a2,a3,a4) = (
select b.b1,b.b2,b.b3,b.b4
from b
where a.aid=b.aid)
where exists (select 1 from b where a.aid=b.bid)

加上EXISTS会好些 保证ID之间关联只能返回一条记录 否则报错

热点排行