Oracle
 sql >> Baza danych >  >> RDS >> Oracle

błąd składni z zapytaniem o aktualizację podczas dołączania do jakiejś tabeli

Oracle nie obsługuje join w update składnia:

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

To jest standardowy SQL i powinien działać w każdej bazie danych.

Twoje zapytanie ma również inne problemy. . . podzapytanie nie znajduje się w nawiasach, inner join nie ma pierwszego stołu.

EDYCJA:

Możesz napisać to zapytanie z tym podzapytaniem:

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

Zmieniłem to na IN , tylko dlatego, że jest to inna opcja. Nadal możesz użyć EXISTS .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Limit czasu połączenia dla DriverManager getConnection

  2. Procedura eksportowania tabeli do wielu plików csv

  3. lista oddzielona przecinkami w wyniku instrukcji select w Oracle

  4. problem ze znalezieniem listy plików w katalogu

  5. ORA-01861:literał nie pasuje do ciągu formatu