Excerpts from Alfonso Lopez Gemar's message of lun feb 14 07:44:40 -0300 2011:
>
> 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.
La primera forma "debería" funcionar. ¿Qué error te dio?
La segunda forma no funciona, no te gastes intentándolo.
--
Álvaro Herrera <[email protected]>
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda