Почему я получаю сообщение "ORA-00923: ключевое слово FROM не найдено там, где ожидается"?

Почему "От" считается не в том месте?

Мне пришлось изменить двойные кавычки на одинарные кавычки в запросе, чтобы получить строку запроса для компиляции в IDE при переносе из Delphi в C#.

IOW, с таким SQL, который работает в Delphi и Toad:

@"SELECT R.INTERLOPERABCID "ABCID",R.INTERLOPERID "CRID", . . .

... Мне пришлось изменить это на это для компиляции в Visual Studio:

@"SELECT R.INTERLOPERABCID 'ABCID',R.INTERLOPERID 'CRID', . . .

Однако SQL не будет работать таким образом - я получаю сообщение "ORA-00923: ключевое слово FROM не найдено там, где ожидается", ошибка msg (как в Toad, так и при попытке выполнить SQL в приложении C#).

Как я могу заставить его и компилировать и запускать?

2 ответа

Решение

Кавычки вокруг ваших псевдонимов столбцов вызывают изжогу.

Похоже, что в исходном случае весь запрос окружен двойными кавычками, и двойные кавычки вокруг псевдонимов столбцов смешиваются с ними.

Во втором случае Oracle интерпретирует псевдонимы столбцов в одинарных кавычках как строки, которые отбрасывают его.

В Oracle вам не нужно: либо вы должны просто написать код:

@"SELECT R.INTERLOPERABCID ABCID,R.INTERLOPERID CRID, . . .

или, используя дополнительный AS ключевое слово:

@"SELECT R.INTERLOPERABCID AS ABCID,R.INTERLOPERID AS CRID, . . .

Надеюсь это поможет.

Обычно это не работает, если у вас есть встроенные комментарии в запросе

Другие вопросы по тегам