Hola a todos.
Tengo una consulta recursiva en postgres, que recorre un arbol a partir de un nodo.
Es así:
Código SQL:
Ver originalWITH recursive tree AS(
SELECT id_padre, id_hijo,1 AS depth, CAST(posicion AS text) AS camino,posicion FROM relacion
WHERE id_padre IS NULL
UNION ALL
SELECT rel.id_padre, rel.id_hijo, depth+1, camino || '.' || CAST(rel.posicion AS text) , rel.posicion
FROM relacion rel
JOIN tree t ON rel.id_padre = t.id_hijo
)
SELECT * FROM tree
ORDER BY camino;
donde pone:
se puede poner cualquier id de un nodo padre (null es el raiz).
Entonces a mi me gustaría poner esa consulta en una funcion, algo como:
donde int sea la id del nodo a partir del cual se va a recorrer el árbol, pero la verdad es que no sé como hacerlo.
Muchas gracias por adelantado