Función recursiva

From: Alfonso Lopez Gemar <alfonso_lg(at)hotmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Función recursiva
Date: 2011-02-14 10:44:40
Message-ID: BAY152-w17982B7164F06366F68158EDD00@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Hola a todos;
Tengo un problema, quiero hacer una función recursiva en porsgreSQL utilizando el lenguaje plpythonu
El tema en cuestión es que no se como hacer para uqe las funciones que tengo declaradas en mi esquema public sean accesibles/existan para la función
Esta es mi función:
CREATE OR REPLACE FUNCTION recursiva(numero integer DEFAULT 0) RETURNS integer AS$BODY$if numero>0: aux = numero -1 plan_id = plpy.prepare("SELECT recursiva( $1 )", [ "integer"]) rv2 = plpy.execute(plan_id, [aux])
return rv2[0][0]+numeroelse: return numero$BODY$ LANGUAGE plpythonu VOLATILE COST 100;ALTER FUNCTION recursiva(integer) OWNER TO pg_user;

Al intentar hacer el "SELECT recursiva..." no va y tampoco funciona si la fincion es así:
CREATE OR REPLACE FUNCTION recursiva(numero integer DEFAULT 0) RETURNS integer AS$BODY$if numero>0: return numero + recursiva(numero-1)else: return numero$BODY$ LANGUAGE plpythonu VOLATILE COST 100;ALTER FUNCTION recursiva(integer) OWNER TO pg_user;

Esta ultima forma es primera que se me ocurrio.
Estoy intentado hacer algo imposible?? como lo consigo??
Muchas gracias

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Rodriguez Fernando 2011-02-14 14:11:40 Re: Postgres y Versiones.
Previous Message vicente 2011-02-14 10:07:15 Re: consulta de fechas da error