From: | Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com> |
---|---|
To: | systemguards(at)gmail(dot)com, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | mostrar resultado del cursor. |
Date: | 2008-02-22 03:50:21 |
Message-ID: | 61245.50870.qm@web63706.mail.re1.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola listeros
Tengo esta funcion y quiero que me devuelva el cursor
resultante
El resultado que me arroja es unnamed portal2
Tambien se que pasando por parametros podria forzar el
nombre de ese cursor.
Lo cierto que con fetch all in o fetch all for
no me duevelve lo que espero
aca paso la funcion a ver que me pueden sugerir
CREATE OR REPLACE FUNCTION "public"."pivot_table"
(tvista_tabla text, tcampo1 text, tcampo2 text,
tcampo3 text) RETURNS "pg_catalog"."refcursor" AS
$body$
DECLARE
tvista_tabla alias for $1;
tcampo1 alias for $2;
tcampo2 alias for $3;
tcampo3 alias for $4;
tcuerpo text;
mvista RECORD;
ref refcursor;
nI integer;
BEGIN
nI:=0;
tcuerpo:='';
FOR mvista IN execute 'SELECT '|| tcampo2 ||' as
campo2 FROM '|| tvista_tabla
|| ' GROUP BY '|| tcampo2 || ' ORDER BY ' || tcampo2
LOOP
nI:=nI + 1;
tcuerpo:=tcuerpo || ' sum(case when ' || tcampo2 ||
'=' || mvista.campo2 || ' then ' || tcampo3 || ' else
0 end) as ' || mvista.campo2 || nI || ',';
END LOOP;
open ref for execute 'select
id_empresa,sum(importe_con_impuestos) as pepe from '
|| tvista_tabla || ' GROUP BY '|| tcampo1 || ' ORDER
BY ' || tcampo1;
RETURN ref;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT
SECURITY INVOKER;
Gabriel Hermes Colina Zambra
____________________________________________________________________________________
¡Capacidad ilimitada de almacenamiento en tu correo!
No te preocupes más por el espacio de tu cuenta con Correo Yahoo!:
http://correo.espanol.yahoo.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2008-02-22 04:10:22 | Re: Modificar valor OID |
Previous Message | Alejandro D. Burne | 2008-02-22 00:09:41 | Re: Error pgpool - II |