Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / WITH RECURSIVE / 4 сообщений из 4, страница 1 из 1
29.12.2004, 17:43
    #32850389
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WITH RECURSIVE
Что-то я частично не понимаю работу этой конструкции.
1.Если я пишу выражение
WITH RECURSIVE tree(...) AS
(
)
select ... from tree;
То все работает нормально. Я так понимаю, что эта конструкция создает временный VIEW, который тут же умирает после select. Мне этот результат нужно выгрести во временную таблицу и в дальнейшем обрабатывать.
Я попробовал написать
WITH RECURSIVE tree(...) AS
(
)
insert into temp_table (...) from tree;
И получаю синтаксическую ошибку на Insert. Как мне таки получить эти данные?
2. В хелпе написано:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
[ WITH temporary-views ]
temporary-views :
  regular-view, ...
| RECURSIVE { regular-view | recursive-view }, ...

regular-view :
  view-name [ ( column-name, ... ) ]
  AS ( subquery )

recursive-view :
  view-name ( column-name, ... )
  AS ( initial-subquery UNION ALL recursive-subquery )
Мне не очень понятно назначение regular view.
...
Рейтинг: 0 / 0
29.12.2004, 18:19
    #32850474
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WITH RECURSIVE
Ggg_old
Я попробовал написать
WITH RECURSIVE tree(...) AS
(
)
insert into temp_table (...) from tree;
И получаю синтаксическую ошибку на Insert. Как мне таки получить эти данные?

Может все же вспомнить синтаксис самого INSERT? :)

INSERT INTO table1 (f1, f2, f3)
SELECT ... FROM ....;

То есть в твоем случае должно быть что-то вроде:
insert into temp_table
with recursive ....
select ...;
...
Рейтинг: 0 / 0
29.12.2004, 18:20
    #32850476
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WITH RECURSIVE
Ggg_oldМне не очень понятно назначение regular view.
Это имеется в виду обычный view сохраненый в базе. Тот что был создан командой CREATE VIEW.
...
Рейтинг: 0 / 0
29.12.2004, 18:55
    #32850521
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WITH RECURSIVE
2 White_owl:
Спасибо помогло. Что меня клемануло, я подумал, что это отдельная конструкция которая создает объект.
P.S.
Кстати, выигрыш по разбору дерева с маленьким уровнем вложенности, но большим кол-вом элеменов на каждом уровне оказался не очень велик по сравнению с классическим разбором дерева в лоб с помощью временных таблиц.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / WITH RECURSIVE / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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