Как и следовало ожидать из вьюхи созданной вручную данные тягать категорически отказывается.
В результате поисков была обнаружена конструкция:
Код: Выделить всё
Оператор CREATE VIEW
Данный оператор создает представление таблицы (виртуальную таблицу).
<create-view-statement> = CREATE VIEW <view-name>
[ (<список-столбцов>) ] AS <оператор-direct-select>
<view-name> - имя представления.
<список-столбцов> - список столбцов из выборки, которые войдут в представление.
<оператор-direct-select> - оператор выборки, см. "Оператор выборки данных SELECT. ".
Код: Выделить всё
SQL Create View vPers(FIO) AS SELECT PERSONS.FFIO FROM PERSONS;
Ошибка компиляции SQL запроса Direct SQL. Подробности содержатся в лог-файле.
В ora90dll.log:
Код: Выделить всё
16.12.2010 09:15:47 [ADMIN]:
CREATE VIEW GAL."S$VPERS" ( FIO ) AS SELECT PERSONS.FFIO FROM PERSONS
16.12.2010 09:15:47 [ADMIN]:
Ошибка(1,15): Ожидалось : "AS"
Код: Выделить всё
Runtime error 216 (rtl:попытка обращения к некорректному дескриптору)
in base.dll at 000XXXXX
Если у нее ошибка в генах, то может кто подскажет как проэмулировать ее работу вручную? Создать представление S$VPERS в БД можно, но подозреваю что запись определенного вида должна упасть в x$resources для выставления прав в на доступ к View в протекте. Какого вида она должна быть?