Re: Llamadas recursivas en funciones de Base de Datos

From: Gustavo Vaccaro <gustavo_vaccaro(at)fibertel(dot)com(dot)ar>
To: unlisted-recipients:; (no To-header on input)
Cc: arpug(at)postgresql(dot)org
Subject: Re: Llamadas recursivas en funciones de Base de Datos
Date: 2011-02-16 13:21:53
Message-ID: 4D5BCF71.4060203@fibertel.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: arpug

Emanuel,
la funcion es recursiva porque necesito llamarla un numero variable de veces.
Va recorriendo un plan de cuentas ordenado jerarquicamente y con la funcion
acumulo la rama inferior.
Esta funcion me funcionaba perfecto en Sybase. Al migrar a Postgres empezo el
problema.
Hasta ahora lo unico que se me ocurre es poder definir el cursor como privado,
pero no se como hacerlo.
Sino, voy a tener que escribir un bucle "loquisimo" como vos decis. Pero no
quiero llegar a esta instancia.
Saludos

Gustavo J. Vaccaro
http://www.gjv.com.ar

El 16/02/2011 10:16 a.m., Emanuel Calvo Franco escribió:
> El día 16 de febrero de 2011 14:06, Gustavo Vaccaro
> <gustavo_vaccaro(at)fibertel(dot)com(dot)ar> escribió:
>> Disculpen que insista
>> ¿pero alguien sabe porque me tira el error cuando uso una funcion en forma
>> recurvisa?
>> el error
>>
>> ERROR: el cursor «c_ctamadre» ya está en uso
>> CONTEXT: función PL/pgSQL «fn_acumuxcuenta» en la línea 23 en OPEN
>> función PL/pgSQL «fn_acumuxcuenta» en la línea 29 en asignación
>>
>> aparentemente se produce porque la declaracion del cursor "c_ctamadre" sigue
>> viva de una llamada de funcion a la otra, pero no se como hacerla privada de
>> la funcion.
> Es lo que estaba leyendo en codigo el otro día... haría un bucle loquisimo ...
>
> Yo lo que haría sería otra función sin el cursor. de esa manera no
> abre nuevamente
> el cursor, lo que ya no sería recursiva, sería una función normal, que
> solo calcule el
> acumulado de la cuenta.
>
> Perdón por tardar en la respuesta :)
>
>

In response to

Responses

Browse arpug by date

  From Date Subject
Next Message Emanuel Calvo Franco 2011-02-16 15:44:47 Re: Llamadas recursivas en funciones de Base de Datos
Previous Message Emanuel Calvo Franco 2011-02-16 13:16:01 Re: Llamadas recursivas en funciones de Base de Datos