powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Рекурсивный запрос в представлении
3 сообщений из 3, страница 1 из 1
Рекурсивный запрос в представлении
    #32858218
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые коллеги.
Можно ли использовать рекурсивный запрос в представлении? Попробовал создать ХП, возвращающую результат рекурсивного запроса (в ХП кроме запроса ничего нет), вызвать ее в представлении, но стабильно получаю ошибку. Если в ХП обычный запрос, то представление создается, если ХП вызывать из запроса из скрипта, то пробелем тоже нет. Но скрипт не устраивает, нужно создать сопредставление.

Второй вопрос: можно ли обойтись без сохраненки, т.е. включить рекурсивный подзапрос в представление?

сервер - ASA 9.0.2
...
Рейтинг: 0 / 0
Рекурсивный запрос в представлении
    #32858239
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну во первых вместо представления можно пользоваться самой хранимкой в запросах :)

Во вторых у меня представление создается и работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE VIEW _test
AS
  WITH RECURSIVE HStruct (Object_id, ParentObject_id) AS (
    SELECT s.Object_id, s.ParentObject_id
    FROM Object_History s
    WHERE s.ParentObject_id IS NULL
    UNION ALL
    SELECT u.Object_id, u.ParentObject_id
    FROM Object_History u
      INNER JOIN HStruct h ON u.ParentObject_id = h.Object_id
  )
  SELECT Object_id, ParentObject_id
  FROM HStruct h;

SELECT *
FROM _test;
...
Рейтинг: 0 / 0
Рекурсивный запрос в представлении
    #32860157
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Ну во первых вместо представления можно пользоваться самой хранимкой в запросах :)

Нельзя, у нас на этом представлении все приложение держится, это все нужно переписывать.

А если в пердставлении кроме рекурсивной части есть и обычная, как их совместить? Например один union all обычный, а в другом WITH RECURSIVE ... . Как бы это оформить поаккуратнее?

В любом случае, благодарю за ответы, буду разбираться.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Рекурсивный запрос в представлении
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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