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