sql >> Database >  >> RDS >> Oracle

syntaxisfout met update-query bij join met een tabel

Oracle biedt geen ondersteuning voor join in de update syntaxis:

UPDATE T123
    SET COL1 = 1,
        VER1 = VER1 + 1
    WHERE EXISTS (SELECT 1 FROM WAPTDT_123 T WHERE T123.REQUEST_ID = T.NUM_FLD);

Dit is standaard SQL en zou in elke database moeten werken.

Uw vraag heeft ook andere problemen. . . de subquery staat niet tussen haakjes, de inner join heeft geen eerste tafel.

BEWERKEN:

U kunt deze query met die subquery schrijven:

UPDATE T123
    SET COL1 = 1,
        VER1 = VER1 + 1
    WHERE T123.REQUEST_ID IN (SELECT C1 FROM ( SELECT T.NUM_FLD C1 FROM WAPTDT_123 T) TAB );

Ik heb dit overgeschakeld naar een IN , gewoon omdat dat een andere optie is. Je zou nog steeds EXISTS kunnen gebruiken .




  1. toegang krijgen tot een kolomaliassen in de waar-clausule in postgresql

  2. ER-diagrammen in IRI Workbench

  3. MySQL Split door komma's gescheiden string in temp-tabel

  4. Is het mogelijk om de natuurlijke volgorde van kolommen in Postgres te wijzigen?