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 :)
>
>
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 |