Я пытаюсь разобраться в sql-запросе. Я не могу найти ссылку на него в Интернете или в документации по синтаксису (оракула), кроме возможного использования @ для ссылки на внешние таблицы, что здесь не имеет смысла и смущает меня в отношении плюса.
[...]
from sometable
left join [...]
where @+sometable.somecolumn
and @+sometable.someothercolumn
and @*
Кто-нибудь видел это раньше или может указать мне правильное направление? ( таблица не называется @+, это я проверил :) )
Это недопустимо в Oracle. Похоже на заполнитель, который заменяется каким-то инструментом
Не могли бы вы предоставить больше контекста? Существует множество инструментов, которые реализуют собственный синтаксический анализатор для преобразования заполнителей или даже пользовательских языков в обычный SQL.
Как упоминалось a_horse_with_no_name: «Это недопустимо в Oracle. Похоже на заполнитель, который заменяется каким-то инструментом». Фактически он заменен каким-то внутренним проприетарным инструментом.
Однако этот код выглядит подозрительно, потому что есть по крайней мере вариант синтаксиса «@». Если вы запустите такой запрос, как select sysdate from dual@some_database;
, он будет переведен на SELECT SYSDATE@! FROM "DUAL" "A1"
на удаленном сервере. @!
означает «выполнить эту команду в исходной базе данных, а не в удаленной базе данных».
Не похоже на Oracle для меня. Я надеюсь, что кто-нибудь узнает это и объяснит, что это значит.