sql >> Base de Datos >  >> RDS >> Oracle

Actualizar declaración usando la cláusula with

Si alguien viene aquí después de mí, esta es la respuesta que funcionó para mí.

NOTA:por favor, lea los comentarios antes de usar esto, esto no está completo. El mejor consejo para las consultas de actualización que puedo dar es cambiar 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
)

Buena suerte,

GJ