powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Синтаксис обращения к View
1 сообщений из 1, страница 1 из 1
Синтаксис обращения к View
    #32174964
Sh_ura
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю такую последовательность действий по созданию и заполнению таблицы на основе объектного типа. Затем создаю View по таблице.
После этого пытаюсь выбрать записи ТОЛЬКО одного типа из таблицы - все проходит нормально. Пытаюсь сделать тоже самое с view ничего не получается - ругается еще при разборе запроса.
Вопрос: Может кто-нибудь знает как изменить синтаксис обращения к View для получения нужного результата. Запрос обязательно должен быть к View, т.к. ниже преведен простой пример, а на самом деле используются соединения нескольких таблиц в ттом числе и объектных.


Последовательность действий:
------------------------------

-- объектный тип
create or replace type TestType2 as object(n number) not final;
-- таблица на основе типа
create table TestTable2 of TestType2;
-- данные
insert into TestTable2(n) values(1);
insert into TestTable2(n) values(2);
commit;
-- даные есть
select * from testtable2;
N
---
1
2

-- view на объектную таблицу
create or replace view TestView2 as
select * from TestTable2;

--все OK
select * from testView2
N
---
1
2

-- получение из таблицы, данных конкретного типа (TestType2)- все нормально
select treat(value(t) as TestType2) from TestTable2 t

TREAT(VALUE(T)ASTESTTYPE2).N
----------------------------
1
2



-- получение из view, данных конкретного типа(TestType2)- ошибка
-- ORA-00904 - "V" недопустимый идентификатор
select treat(value(v) as TestType2) from TestView2 v
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Синтаксис обращения к View
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]