Re: Nueva Consulta sobre Funciones

From: msanchez(at)keyos(dot)com(dot)bo
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Nueva Consulta sobre Funciones
Date: 2006-06-03 15:21:02
Message-ID: 38186.192.168.1.12.1149348062.squirrel@mail.keyos.com.bo
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> Hola
> tengo una funcion que devuelve un RECORD, funciona pero esta
> incompleta porque necesito
> volver a procesar los registros y no puedo hacerlo, alguien tiene idea
> como puedo hacerlo?
> a continuacion muestro la funcion en cuestion:
>
> Gracias desde ya.
>
> declare rcursor1 RECORD;
>
> begin
> for rcursor1 in SELECT movimien.ccuen,movimien.cdeno,
> (CASE
> WHEN EXTRACT(MONTH FROM movimien.cfech)=1 THEN
> COALESCE(sum(movimien.cdebe-
> movimien.chabe),0)
> ELSE
> 0.00
> END) AS cmes01,
> (CASE
> WHEN EXTRACT(MONTH FROM movimien.cfech)=2 THEN
> COALESCE(sum(movimien.cdebe-
> movimien.chabe),0)
> ELSE
> 0.00
> END) AS cmes02,
> FROM movimien
> LEFT JOIN asientos on asientos.cnumtra=movimien.cnumtra
> WHERE movimien.cempre=pempre AND movimien.cperi=pperio
> AND movimien.ccuen>=pdecue AND movimien.ccuen<=phacue
> AND movimien.cmodo=2
> GROUP BY movimien.ccuen, movimien.cdeno, EXTRACT(MONTH
> FROM movimien.cfech)
> ORDER BY movimien.ccuen
> loop
>
al utilizar return next, ya estas devolviendo valores de la funcion, asi
que ya no podras usarlos mas abajo porque ya no existen dentro de la
funcion,
lo que te sugiero es procesar tus resultados antes de return next.
> return next rcursor1;
> end loop;
>
> ------------
> ACA DEBERIA VOLVER A PROCESAR EL RESULTADO
> -----------------
> return;
> end

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2006-06-03 18:21:51 Re: Nueva Consulta sobre Funciones
Previous Message Fernando Aguada 2006-06-03 13:24:14 Nueva Consulta sobre Funciones