sql >> Database teknologi >  >> RDS >> Oracle

syntaksfejl med opdateringsforespørgsel, når du slutter dig til en tabel

Oracle understøtter ikke join i update syntaks:

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

Dette er standard SQL og burde fungere i enhver database.

Din forespørgsel har også andre problemer. . . underforespørgslen er ikke i parentes, den inner join har ikke noget første bord.

EDIT:

Du kan skrive denne forespørgsel med denne underforespørgsel:

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 );

Jeg skiftede dette til en IN , bare fordi det er en anden mulighed. Du kan stadig bruge EXISTS .




  1. MySQL - FEJL 1045 - Adgang nægtet

  2. Forståelse af gentag loggruppe vs fil vs medlem

  3. Sådan tjekker du databasen på en ikke-rodfæstet Android-enhed

  4. Hvordan angiver jeg en adgangskode til 'psql' ikke-interaktivt?