Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle SQL актуализация въз основа на подзаявка между две таблици

Има два начина да направите това, което се опитвате

Едната е Свързана актуализация с много колони

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

ДЕМО

Можете да използвате обединяване

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

ДЕМО



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SqlPlus SP2-0734:Грешка

  2. Как мога да определя стойността на низа на типа данни на Oracle по неговия код?

  3. Изберете същата колона за различни стойности в различна колона

  4. Как да инсталирате Oracle SQL Developer 18.2 на Windows 10?

  5. Извлечете броя на актуализираните редове