Re: RETORNAR CURSOR EN DATAWINDOW

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.

http://www.eset.com

--
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.

In response to

Browse pgsql-es-ayuda by date

  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