sql >> Databasteknik >  >> RDS >> Oracle

Oracle SQL-uppdatering baserad på underfråga mellan två tabeller

Det finns två sätt att göra det du försöker

Den ena är en Korrelerad uppdatering med flera kolumner

UPDATE PRODUCTION a
SET (name, count) = (
  SELECT name, count
  FROM STAGING b
  WHERE a.ID = b.ID);

DEMO

Du kan använda merge

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



  1. Beräkna antalet samtidiga händelser i SQL

  2. Hur man installerar PostgreSQL 12 på Ubuntu 20.04/18.04/16.04

  3. Använda dataskyddad med ett Azure Key Vault från Linux

  4. Hur kan man hämta enorma poster med Laravel och MySQL?