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