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                                    

Responder a