Tengo una consulta recursiva en postgres, que recorre un arbol a partir de un nodo.
Es así:
Código SQL:
Ver original
WITH 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:
Código SQL:
Ver original
WHERE id_padre IS NULL
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:
Código SQL:
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.Ver original
ver_arbol(INT)
Muchas gracias por adelantado