Ошибка Oracle, ключевое слово FROM не найдено там, где ожидается - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь выяснить, почему я получаю это сообщение об ошибке.Я попытался пересмотреть код различными способами и все еще получаю сообщение об ошибке.Сообщение об ошибке указано ниже.

ORA-00923 : ключевое слово FROM не найдено там, где ожидается

 SELECT 'DATABASE' as DATABASE,
         OWNER AS SCHEMA, 
         TABLE_NAME AS TABLE, 
         COLUMN_NAME AS COLUMN
   FROM ALL_TAB_COLUMNS 
  WHERE OWNER = 'ALSCMGR' 
    AND TABLE_NAME IN ('ALSC_TRANS_NONMONETARY')
    AND UPPER(COLUMN_NAME) 

1 Ответ

0 голосов
/ 18 октября 2018

Вы не можете использовать TABLE и COLUMN в качестве псевдонимов столбцов ;переименуйте их во что-то другое, например,

SQL> SELECT
  2    'DATABASE'  as DATABASE,
  3    OWNER       AS SCHEMA,
  4    TABLE_NAME  AS TABLE_n,
  5    COLUMN_NAME AS COLUMN_n
  6  FROM
  7    ALL_TAB_COLUMNS
  8  WHERE
  9      OWNER = 'ALSCMGR' AND
 10      TABLE_NAME IN('ALSC_TRANS_NONMONETARY')
 11  --and UPPER(COLUMN_NAME) ;

no rows selected

SQL>

В качестве альтернативы заключите псевдонимы в двойные кавычки:

SQL> SELECT
  2    'DATABASE'  as DATABASE,
  3    OWNER       AS SCHEMA,
  4    TABLE_NAME  AS "TABLE",
  5    COLUMN_NAME AS "COLUMN"
  6  FROM
  7    ALL_TAB_COLUMNS
  8  WHERE
  9      OWNER = 'ALSCMGR' AND
 10      TABLE_NAME IN('ALSC_TRANS_NONMONETARY')
 11  --and UPPER(COLUMN_NAME) ;

no rows selected

SQL>

Я удалил последнее «условие» (которое в любом случае недействительно, но нене вызывает этой проблемы).

...