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

Atualização do Oracle SQL com base na subconsulta entre duas tabelas


Existem duas maneiras de fazer o que você está tentando

Uma delas é uma Atualização correlacionada de várias colunas
UPDATE PRODUCTION a
SET (name, count) = (
  SELECT name, count
  FROM STAGING b
  WHERE a.ID = b.ID);

DEMO

Você pode usar mesclar
MERGE INTO PRODUCTION a
USING ( select id, name, count 
          from STAGING ) b
ON ( a.id = b.id )
WHEN MATCHED THEN 
UPDATE SET  a.name = b.name,
            a.count = b.count

DEMO