Oracle update时做表关联

  感觉还是sqlserver中的写法比较好理解,Oracle的写法都快把我搞晕了,

  注意:

  1.要修改的表,不要加入到子查询中,用别名在子查询中与其他表进行关联即可。

  2.exsits不能少,exsits后面的子查询与上一个子查询里的内容相同即可。

 

update  table1 t1 
set t1.name=
(
   select t2.name from table2 t2,table3 t3  
   where t2.id=t1.id2 and t3.id=t1.id3 and t2.is_del<>1
)
where exists
(
   select 1 from table2 t2,table3 t3 
   where t2.id=t1.id2 and t3.id=t1.id3 and t2.is_del<>1
)

 

你可能感兴趣的:(Oracle update时做表关联)