Навигация
|
PostgreSQL: Конструкция With (вызов рекурсии)Очень простой пример вызова рекурсии с помощью конструкции With в PostgreSQL: WITH RECURSIVE rec AS ( SELECT * FROM rec;
Живой пример из хранимой функции: CREATE OR REPLACE FUNCTION GetCategory (p_start_id INT)
RETURNS TABLE (name VARCHAR(100))
AS $$
WITH RECURSIVE c
AS
(
SELECT id, parent_id, name, 1 AS depth
FROM categories
WHERE Id = p_start_id
UNION ALL
SELECT cat.id, cat.parent_id, cat.name, c.depth + 1 AS Level
FROM categories cat
INNER JOIN c ON cat.Id = c.parent_id
)
SELECT name
FROM c
ORDER BY depth DESC;
$$ LANGUAGE sql;
SELECT GetCategory(51);
Комментарии пользователей Эту новость ещё не комментировалиНаписать комментарий Анонимам нельзя оставоять комментарии, зарегистрируйтесь! |
Контакты Группа ВК | Код обмена баннерами | Видео к IT статьям на YoutubeВидео на другие темы Смотреть | |||
Мои друзья: | © Snakeproject.ru создан в 2013 году.При копировании материала с сайта - оставьте ссылку.Весь материал на сайте носит ознакомительный характер,за его использование другими людьми, автор ответственности не несет. |
||||
Поддержать автора и проект
|