oracle将一个表中字段的值赋值到另一个表中字段(批量) 已解决 博客园

 

1、sql语句写法

update(select A.phone,B.tel from tb1 A,tb2 B  where A.userid=B.userid) v set v.phone=v.tel;

 

2、执行时如果报以下错误

 

 3、解决办法:

把两个表关联的字段都设置为是主键,问题即可解决。

4、结论:

      用A表去更新B表的数据,A表的关联条件必须为主键,Oracle这样做的目的是保证表A的满足关联条件的数据是唯一的,

      这样在更新B表数据时才有意义,

      当然,如果两表关联的字段都为主键,则无论谁更新谁都没有问题。

      结论:用A表数据更新B表数据,则A与B的对应关系为:1:1 或 1:n。

 

posted @ 2021-07-07 17:48  ...翰  阅读(2821)  评论(0编辑  收藏  举报