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

Responder a