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

Istruzione di aggiornamento utilizzando con clausola

Se qualcuno viene qui dopo di me, questa è la risposta che ha funzionato per me.

NOTA:si prega di leggere i commenti prima di utilizzare questo, questo non è completo. Il miglior consiglio per le domande di aggiornamento che posso dare è di passare a SqlServer;)

update mytable t
set z = (
  with comp as (
    select b.*, 42 as computed 
    from mytable t 
    where bs_id = 1
  )
  select c.computed
  from  comp c
  where c.id = t.id
)

Buona fortuna,

GJ