本文主要是介绍Oracle把一个表的某个字段更新到另一张表中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第一种方法:
update tablea set column_name1=(select name2 from tableb where tableb.name3=tablea.name1)
只修改一个
update tablea set column_name1=(select name2 from tableb where tableb.name3='a') where tablea.name1='A'
第二种方法:
假设A表有字段ID和NameA,B表有字段ID和NameB,两个表通过ID连接,把NameB更新到NameA,可以这么写:
merge into A
using(select NameB fromB) TMP
on (A.ID=TMP.ID)
when matched then
update set A.NameA=TMP.NameB
第三种方法:(建议使用这个)
- A表数据
- B表数据
- 现在要把B表 B_COSTS 的值update到A表 A_COSTS 字段
- SQL语法:
update a set (a.a_costs) = (select b.b_costs from b where a.id = b.id and a.a_id = b.b_id) where exists
(select 1 from b where a.id = b.id and a.a_id = b.b_id)
- 结果:
第四种方法:(更新内嵌视图)
update (
select e.sal as emp_sal, e.comm as emp_comm, ns.sal as ns_sal, ns.sal/2 as ns_comm
from emp e,new_sal ns where e.deptno = ns.deptno
) set emp_sal = ns_sal,emp_comm = ns_comm;
这篇关于Oracle把一个表的某个字段更新到另一张表中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!