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
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 |