PSQL如何具有带有可变参数的递归查询

时间:2019-05-13 09:38:07

标签: sql postgresql common-table-expression recursive-query

我需要一个SQL / PSQL查询,该查询使我可以指定父级的层次关系。

我只是尝试了一个递归查询,但是我无法指定第一个父代,然后我尝试将整个CTE表达式放入函数中,最后我尝试使用声明的变量,并在每次使用查询时重新声明它。

DECLARE @procura = null;

WITH RECURSIVE hierarquia (procura) AS (
    SELECT categoria, super_categoria
    FROM
    CONSTITUIDA
    WHERE
    super_categoria = @procura
    UNION
    SELECT c.categoria, c.super_categoria
    FROM
    CONSTITUIDA c
    INNER JOIN hierarquia h ON h.categoria = c.super_categoria
) SELECT
*
FROM hierarquia;

注意: CONSTITUIDA有两列,分别是类别和父类别,分别是子类别和超类别。

我想指定CONSTITUIDA的父级,它应该以所有递归深度返回该父级的所有子级。

0 个答案:

没有答案