Oracle
 sql >> Database >  >> RDS >> Oracle

Aggiorna la colonna con i valori di un'altra colonna

Ci sono due possibili ragioni per l'aggiornamento del tentativo di foo.a su NULL.

  1. Esistono righe in foo per le quali non esistono righe corrispondenti nella barra.
  2. La riga corrispondente nella barra ha bar.x di null.

Quanto segue escluderà gli aggiornamenti a foo se una delle condizioni di cui sopra è vera. In quei casi foo.a rimarrà com'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);