----- Original Message -----
From: "Lennin Caro" <[EMAIL PROTECTED]>
To: "Hector R. De los Santos (Consultor TI)" <[EMAIL PROTECTED]>; "Raul
Andres Duque" <[EMAIL PROTECTED]>
Cc: <pgsql-es-ayuda@postgresql.org>
Sent: Tuesday, August 12, 2008 10:40 AM
Subject: Re: [pgsql-es-ayuda] Funcion retorna SETOF RECORD>
si estamos hablando de esta funcion ...
CREATE OR REPLACE FUNCTION p5()
RETURNS record AS
$BODY$DECLARE
algo RECORD;
BEGIN
SELECT INTO algo * FROM prestadora;
return algo;
END;$BODY$
LANGUAGE 'plpgsql'
Envio ejemplo:
CREATE OR REPLACE FUNCTION csp_SaldoInicial(fecha date, filtro character
varying)
RETURNS SETOF RECORD AS
$BODY$
DECLARE
registros RECORD;
strQuery VARCHAR := '';
BEGIN
RETURN QUERY SELECT id_parte::int AS id_parte FROM def_salinvmes;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
select * from csp_SaldoInicial(now()::date, '1=1');
ERROR: a column definition list is required for functions returning
"record"
********** Error **********
ERROR: a column definition list is required for functions returning "record"
SQL state: 42601
retorna un tipo RECORD que se llena con la informacion del objeto
prestadora
--- On Tue, 8/12/08, Raul Andres Duque <[EMAIL PROTECTED]> wrote:
From: Raul Andres Duque <[EMAIL PROTECTED]>
Subject: Re: [pgsql-es-ayuda] Funcion retorna SETOF RECORD
To: [EMAIL PROTECTED], "Hector R. De los Santos (Consultor TI)"
<[EMAIL PROTECTED]>
Cc: pgsql-es-ayuda@postgresql.org
Date: Tuesday, August 12, 2008, 3:22 PM
>
>----- Original Message -----
>From: "Lennin Caro"
<[EMAIL PROTECTED]>
>To: "Hector R. De los Santos (Consultor TI)"
<[EMAIL PROTECTED]>; "Raul
>Andres Duque" <[EMAIL PROTECTED]>
>Cc: <pgsql-es-ayuda@postgresql.org>
>Sent: Tuesday, August 12, 2008 9:12 AM
>Subject: Re: [pgsql-es-ayuda] Funcion retorna SETOF
RECORD
>
>Referente al hilo, Prestadora es una tabla que existe
la funcion retorna un
>tipo RECORD y al usar select * from p5 retorna todos
los registros
> >guardados en la variable de tipo RECORD
>
Hasta donde tengo entendido cuando dices "RETURNS
SETOF prestadora", se esta
haciendo referencia al TIPO "prestadora" y no a
la tabla "prestadora". Lo
que pasa es que postgresql crea automáticamente el tipo
correspondiente )con
el mismo nombre) para cada tabla en la DB.
Atentamente,
RAUL DUQUE
Bogotá, Colombia
>
>--- On Tue, 8/12/08, Raul Andres Duque
<[EMAIL PROTECTED]> wrote:
>
> From: Raul Andres Duque <[EMAIL PROTECTED]>
> Subject: Re: [pgsql-es-ayuda] Funcion retorna SETOF
RECORD
> To: "Hector R. De los Santos (Consultor TI)"
<[EMAIL PROTECTED]>
> Cc: pgsql-es-ayuda@postgresql.org
> Date: Tuesday, August 12, 2008, 2:00 PM
> >
> >----- Original Message -----
> >From: Hector R. De los Santos (Consultor TI)
> >To: Raúl Andrés Duque Murillo
> >Sent: Tuesday, August 12, 2008 7:27 AM
> >Subject: Re: [pgsql-es-ayuda] Funcion retorna
SETOF
> RECORD
> >
> >
> >Leete este hilo
> >
>
>http://archives.postgresql.org/pgsql-es-ayuda/2008-08/msg00029.php
>
> Gracias Hector pero lo que quisiera es un ejemplo sin
usar
> un tipo (usando tipo RECORD ... si es posible). El
ejemplo
> que se ve en el hilo utiliza el tipo
"prestadora"
> ... adicional a esto tengo el problema de devolver
VARIOS
> REGISTROS provenientes de un SQL DINAMICO de forma
óptima
> (sin iterar por cada uno haciendo un RETURN NEXT).
>
> Atentamente,
>
> RAUL DUQUE
> Bogotá, Colombia
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net