Skip site navigation (1) Skip section navigation (2)

Re: Función recursiva

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Alfonso Lopez Gemar <alfonso_lg(at)hotmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Función recursiva
Date: 2011-02-14 14:42:18
Message-ID: 1297694491-sup-7694@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
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 <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

pgsql-es-ayuda by date

Next:From: Jaime CasanovaDate: 2011-02-14 17:03:52
Subject: Re: consulta de fechas da error
Previous:From: Rodriguez FernandoDate: 2011-02-14 14:11:40
Subject: Re: Postgres y Versiones.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group