Почему я получаю сообщение "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, . . .
Надеюсь это поможет.
Обычно это не работает, если у вас есть встроенные комментарии в запросе