sql >> Databáze >  >> RDS >> Oracle

chyba syntaxe s aktualizačním dotazem při spojení s nějakou tabulkou

Oracle nepodporuje join v update syntaxe:

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

Toto je standardní SQL a mělo by fungovat v jakékoli databázi.

Váš dotaz má i další problémy. . . poddotaz není v závorkách, inner join nemá první tabulku.

EDIT:

Tento dotaz můžete napsat s tímto poddotazem:

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

Přepnul jsem to na IN , jen proto, že je to další možnost. Stále můžete použít EXISTS .




  1. Jak převést malá písmena na velká v SQL Server – UPPER()

  2. Jaké situace způsobují, že se balíčky Oracle stanou neplatnými?

  3. Jak zavolám uloženou proceduru s argumenty pomocí sqlcmd.exe?

  4. Neuspořádané výsledky v SQL