Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / возможно ли в SELECT'е сделать рекурсию? / 7 сообщений из 7, страница 1 из 1
31.05.2004, 14:48
    #32541104
Д
Д
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли в SELECT'е сделать рекурсию?
Возможно как-нибудь в SELECT'е сделать рекурсию?
Если есть таблица с полем foreigh key, ссылающимся на другую строку той же таблицы, а в той строке в свою очередь может быть ссылка на ещё одну строку строку и так несколько раз.
Например, для большей ясности, вот такая таблица.
CREATE TABLE my_table (
id INTEGER NOT NULL IDENTITY PRIMARY KEY,
name VARCHAR(50) NOT NULL,
parent_id INTEGER NULL REFERENCES my_table
);

Можно ли за один запрос рекурсивно сделать SELECT всех связанных строк по одному известному id ?

Что-то типа
SELECT * FROM my_table WHERE id = 12345 AND parent_id = id
только рекурсивно.
...
Рейтинг: 0 / 0
31.05.2004, 15:35
    #32541206
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли в SELECT'е сделать рекурсию?
В Sybase Anywhere Studio 9 можно. В других СУБД от Sybase нельзя. Указывайте наименование и версию сборки СУБД, чтобы Вы смогли получить ответ на вопрос.
...
Рейтинг: 0 / 0
31.05.2004, 15:39
    #32541212
Mykola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли в SELECT'е сделать рекурсию?
select * from my_table as t1, my_table as t2
where t1. ... = t2. ....
...
Рейтинг: 0 / 0
31.05.2004, 15:44
    #32541221
Д
Д
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли в SELECT'е сделать рекурсию?
У меня как раз ASA 9.
...
Рейтинг: 0 / 0
31.05.2004, 17:43
    #32541526
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли в SELECT'е сделать рекурсию?
Тогда можно посмотреть пример в FAQ .
...
Рейтинг: 0 / 0
03.06.2004, 15:44
    #32546976
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли в SELECT'е сделать рекурсию?
Нет , так сделать нельзя в стандартном ANSI SQL.
Можно, если ваша БД поддерживает расширения типа Oracle-ового CONNECT BY.
...
Рейтинг: 0 / 0
03.06.2004, 15:51
    #32546993
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли в SELECT'е сделать рекурсию?
авторНет , так сделать нельзя в стандартном ANSI SQL.
Можно, если ваша БД поддерживает расширения типа Oracle-ового CONNECT BY.
Не очень понял Ваше утверждение. Человек сказал, что ему нужно это сделать в ASA9, я привел работающий пример.

P.S. Кстати делать рекурсии можно в следующих СУБД: Оракле, DB2, Sybase Anywhere Studio 9 и скоро в новом MSSQL-е.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / возможно ли в SELECT'е сделать рекурсию? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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