Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/07/2018, 13:15
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 6 meses
Puntos: 10
Introducir consulta recursiva en una funcion

Hola a todos.

Tengo una consulta recursiva en postgres, que recorre un arbol a partir de un nodo.
Es así:
Código SQL:
Ver original
  1. WITH recursive tree AS(
  2. SELECT id_padre, id_hijo,1 AS depth, CAST(posicion AS text)  AS camino,posicion FROM relacion
  3. WHERE id_padre IS NULL
  4. UNION ALL
  5. SELECT rel.id_padre, rel.id_hijo, depth+1, camino || '.' || CAST(rel.posicion AS text) , rel.posicion
  6. FROM relacion rel
  7. JOIN tree t ON rel.id_padre = t.id_hijo
  8. )
  9. SELECT * FROM tree
  10. ORDER BY camino;

donde pone:

Código SQL:
Ver original
  1. 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:
Ver original
  1. ver_arbol(INT)
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
__________________
Mi calculadora en Qt