Re: ReTORNAR UN CONJUNTO SIN RECORD Y SIN REFCURSOR

From: "Yoel Mc Lennan" <yoelnatanael(at)hotmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ReTORNAR UN CONJUNTO SIN RECORD Y SIN REFCURSOR
Date: 2007-02-14 17:08:38
Message-ID: BAY129-DAV794A05E7824A235A359BECC970@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Milton, el ejeplo que decis es el que utilizo habitualmente y no es el que
busco ya que debo hacer dos pasos del lado de .net para obtener los datos,
primero hacer la llamada a la función , que me devuelve el nombre del
refcursor (no los datos) y luego recuperar los datos (desde .net) ejecutando
"fetch all in refcursorejemplo"

net tiene herramientas que agilizan mucho el desarrollo a la hora de usar
funciones ya que reconoce los parametros y esquema de datos devueltos, como
en este caso , la función solo devuelve el nombre del refcursos, no puedo
hacer uso de esa funcionalidad.

EJ:

en postgresql :

CREATE FUNCTION reffunc(refcursor) RETURNS refcursor AS '
BEGIN
OPEN $1 FOR SELECT col FROM test;
RETURN $1;
END;
' LANGUAGE plpgsql;

en visual
primero :
BEGIN;
SELECT reffunc('micursor'); (esto solo devuelve el nombre de
refcursos

segundo :
FETCH ALL IN micursor;
COMMIT;

----- Original Message -----
From: "Milton Galo Patricio" <minoztro(at)gmail(dot)com>
To: "jeferson alvarez" <jalvarez(at)renova(dot)com(dot)pe>
Cc: "Yoel Mc Lennan" <yoelnatanael(at)hotmail(dot)com>;
<pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Wednesday, February 14, 2007 1:30 PM
Subject: Re: [pgsql-es-ayuda] ReTORNAR UN CONJUNTO SIN RECORD Y SIN
REFCURSOR

2007/2/14, jeferson alvarez <jalvarez(at)renova(dot)com(dot)pe>:
> ESTUBE PROBANDO CON UN TYPE Y CON RECORD PERO PARA EL RECORD VA UN LOOP
> ESLO QUE LE FALTA A ESTA FUNCION PERO A MI LO QUE ME INTERESA ES CON
> TYPE O ALGUNA OTRA DONDE NO USE UN LOOP Y TIENE QUE SER CON PLPGSQL
> PORQUE HAY MUCHAS MAS INTRUCCIONES QUE AGREGAR A ESTA FUNCION GRACIAS
> POR LA AYUDA DE ANTEMANOD SI ALGUIEN NOS DIERA ALGUNAS LUCES

y por qué no puedes utilizar refcursor?...para mi es mucho más limpio
que un recordset, puedes ver aca ejemplos [0]...aca muestro uno de la
misma documentación..

CREATE TABLE test (col text);
INSERT INTO test VALUES ('123');

CREATE FUNCTION reffunc(refcursor) RETURNS refcursor AS '
BEGIN
OPEN $1 FOR SELECT col FROM test;
RETURN $1;
END;
' LANGUAGE plpgsql;

BEGIN;
SELECT reffunc('funccursor');
FETCH ALL IN funccursor;
COMMIT;

[0] http://www.postgresql.org/docs/8.1/interactive/plpgsql-cursors.html

--
Milton Inostroza Aguilera

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Edwin Quijada 2007-02-14 17:09:12 Re: Orientacion Sobre Comparativa entre postgres y mssql
Previous Message Julian Maya 2007-02-14 17:06:47 Re: Sobre 64 bits