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