Я пытаюсь использовать предложение WITH в Oracle, но оно не возвращает никаких данных.
Это запрос, который я пытаюсь выполнить ...
with test as
(select count(*)
from my_table)
select *
from test;
КогдаЯ запускаю этот код, я возвращаю количество записей в my_table
select count(*)
from my_table
Я нахожусь на Oracle 10g, поэтому запрос должен работать ...
select * from v$version;
приводит к
Oracle Database 10g Enterprise Edition, выпуск 10.2.0.4.0 - 64bi
PL / SQL, выпуск 10.2.0.4.0 - Производство
CORE 10.2.0.4.0 Производство
TNS для Solaris:Версия 10.2.0.4.0 - Производство
NLSRTL Версия 10.2.0.4.0 - Производство
Может ли быть проблема с разрешениями или что-то подобное?
* РЕДАКТИРОВАТЬ: *
Полагаю, мой вопрос ясен.Использование оператора WITH не вернет мне никаких записей, даже если оператор «select count (*) from my_table» внутри оператора WITH работает правильно, что заставило бы меня поверить, что есть еще одна проблема, которую я не могу выяснитьотсюда вопрос:)
РЕДАКТИРОВАТЬ 2
ОК, поэтому, если я попытаюсь выполнить запрос со связанного сервера из студии управления SQL-сервером, я получу некоторую информацию об ошибкеназад:
sg 7357, Уровень 16, Состояние 2, Строка 1 Не удается обработать объект "с тестом как (выберите количество (*) из v $ version) выберите * из теста;".Поставщик OLE DB «MSDAORA» для связанного сервера «MyServer» указывает, что либо у объекта нет столбцов, либо у текущего пользователя нет разрешений на этот объект.