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

синтактична грешка със заявка за актуализиране при присъединяване към някаква таблица

Oracle не поддържа join в update синтаксис:

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

Това е стандартен SQL и трябва да работи във всяка база данни.

Вашето запитване има и други проблеми. . . подзаявката не е в скоби, inner join няма първа маса.

РЕДАКТИРАНЕ:

Можете да напишете тази заявка с тази подзаявка:

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

Превключих това на IN , просто защото това е друга опция. Все още можете да използвате 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. Използване на LogMiner за намиране на текущи промени

  2. Каква е разликата между изгледи и материализирани изгледи в Oracle?

  3. Защо получавам изключение OutOfRange във функцията GetOrdinal на това поле CLOB?

  4. LN() Функция в Oracle

  5. DB Control наближава смъртта си