Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Atualizar coluna com valores de outra coluna


Há duas razões possíveis para a atualização tentar foo.a para NULL.
  1. Existem linhas em foo para as quais não há linhas correspondentes em bar.
  2. A linha correspondente em bar tem bar.x igual a nulo.

O seguinte excluirá atualizações para foo se uma das condições acima for verdadeira. Nesses casos, foo.a permanecerá como era:
update foo 
set a = (select distinct( x ) from bar where bar.y = foo.b )
where exists 
  (select *
  from bar 
  where bar.y = foo.b
  and bar.x is not null);