From: | "Jose J(dot) Ayala Pineda" <jayala(at)cromotex(dot)com(dot)pe> |
---|---|
To: | "Islanet" <islacastillo(at)gmail(dot)com>, Sandro Martin Napán Villarreal <sandro(dot)napan(at)colortexperu(dot)com(dot)pe> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: RETORNAR CURSOR EN DATAWINDOW |
Date: | 2009-06-24 19:43:15 |
Message-ID: | CD365732B3BD426DAA4D7AE209F04981@depsis01 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
CREATE OR REPLACE FUNCTION find(co as integer)
RETURNS refcursor AS
$BODY$
DECLARE
data refcursor;
BEGIN
open data for
select campo1,campo2 from tutabla
where campo3=co;
return data;
END:
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
Esto no funciona con el driver odbc, solo con oledb
Slds
----- Original Message -----
From: Islanet
To: Sandro Martin Napán Villarreal
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Sent: Tuesday, June 23, 2009 2:31 PM
Subject: Re: [pgsql-es-ayuda] RETORNAR CURSOR EN DATAWINDOW
Hola...
Debes crear un tipo o utilizar un tipo existente (cada tabla creada por defecto es un tipo)
Luego devuelves un SET OF tipo (del tipo creado)
Un ejemplo de tipo:
CREATE TYPE tipo1 AS
(
id bigint,
codeorder bigint,
officialname character varying);
y la función
CREATE OR REPLACE FUNCTION find_(co1a integer)
RETURNS SETOF tipo1 AS
$BODY$
DECLARE
_mitipo tipo1;
BEGIN
--operaciones respectivas
_mitipo.id:=1;
_mitipo.codeorder :=1;
_mitipo.officialname :='mi nombre';
RETURN NEXT _mitipo;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
La llamada queda asi: select * from find_(1);
Y te devuelve un set de registros, de la misma forma que haces un select a una tabla.
Saludos.-
Islanet
2009/6/23 Sandro Martin Napán Villarreal <sandro(dot)napan(at)colortexperu(dot)com(dot)pe>
Buenas tardes
Sabe alguien como retornar un cursor en postgres desde una funcion que sera invocada desde un DW, no desde un script de pb
En Oracle se retorna un cursor , en Sybase y sql Server un simple select a la tabla y listo el dw se crea con esa estructura y parámetros , pero en postgres como hago lo mismo
Sld
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4181 (20090623) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.
MailScanner agradece a transtec Computers por su apoyo.
From | Date | Subject | |
---|---|---|---|
Next Message | uno dos | 2009-06-24 21:05:15 | Duda con latin1 y utf-8 en postgresql 8.3 |
Previous Message | Carlos Mendez | 2009-06-24 19:25:12 | Re: php no se conecta con pgsql |