Re: RV: Consulta SQL algo compleja

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Jaime Casanova <systemguards(at)yahoo(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org, innenka(at)yahoo(dot)com
Subject: Re: RV: Consulta SQL algo compleja
Date: 2004-12-14 21:33:10
Message-ID: 20041214213310.GA17199@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Tue, Dec 14, 2004 at 02:08:41PM -0600, Jaime Casanova wrote:
> --- innenka innenka <innenka(at)yahoo(dot)com> escribió:

> > CREATE OR REPLACE FUNCTION USP_ESCRITODCTOS()
> > RETURNS
> > INTEGER AS '
> > DECLARE
> > Funcionario INTEGER;
> > Bandeja VARCHAR(1);
> > BEGIN
> > SELECT * FROM CARPETA_PRESTAMO;
> > END;
> > ' LANGUAGE 'plpgsql';

Esto pareciera ser una funcion que intenta retornar el contenido de una
tabla. En postgres esto se conoce como una "Set-Returning Function", o
SRF. Creo que seria mas o menos asi:

create or replace function usp_escritodctos()
returns setof carpeta_prestamo
as '
declare
record rec;
begin;
for select into rec * from carpeta_prestamo loop
return next rec;
end loop;
return;
end;';

(sin probar, pero es algo semejante)

La clave aqui es el uso de RETURN NEXT y el "returns setof algo".
La documentacion de PL/pgSQL deberia ser buena referencia al respecto.

--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"La experiencia nos dice que el hombre peló millones de veces las patatas,
pero era forzoso admitir la posibilidad de que en un caso entre millones,
las patatas pelarían al hombre" (Ijon Tichy)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2004-12-14 21:38:39 Re: RV: Consulta SQL algo compleja
Previous Message Jaime Casanova 2004-12-14 20:08:41 Re: RV: Consulta SQL algo compleja