|
|
|
Синтаксис обращения к View
|
|||
|---|---|---|---|
|
#18+
Делаю такую последовательность действий по созданию и заполнению таблицы на основе объектного типа. Затем создаю 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2003, 12:14:19 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2770&tid=1990210]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 378ms |

| 0 / 0 |
