因为Oracle里面没有update from的语法,在设计到关联多表进行更新的时候,可以使用以下的方式:
- 使用子查询:
update tbl_a a
set (a.name,a.type) = (select b.name,b.type from tbl_b b where a.id=b.id)
where a.id in (select id from b)
注意:这里的where一定要写,因为where确定了需要更新的字段,如果这里不写where则会进行全表更新,也就是不满足的记录会直接在对应字段赋空值。