From: | Miguel Rodríguez Penabad <penabad(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: no puedo conseguir que me devuelva mas tuplas.... |
Date: | 2007-05-29 23:11:01 |
Message-ID: | 95335e4e0705291611kcbc7728r1bde122206944d7e@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Yo también estaba convencido de que leyendo la documentación bastaba,
y me he convencido. Ya que lo probé lo pongo aquí para quien interese,
pero el usuario original
create table t(a int, b text);
insert into t values(1,'texto1'),(2,'texto2');
select * from t;
a | b
---+--------
1 | texto1
2 | texto2
(2 rows)
create or replace function f()
returns setof record
as
$f$
select * from t;
$f$ language sql;
postgres=# select * from f() as registro(campo1 int, campo2 text);
campo1 | campo2
--------+--------
1 | texto1
2 | texto2
(2 rows)
¿Que la quieres en PL/pgSQL?
CREATE OR REPLACE FUNCTION f2()
RETURNS SETOF record AS
$BODY$
declare r record;
begin
for r in select * from t loop
return next r;
end loop;
return;
end
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
select *from f2() as (c1 int, c2 text);
devuelve lo mismo que la anterior select
From | Date | Subject | |
---|---|---|---|
Next Message | Gabriel Hermes Colina Zambra | 2007-05-29 23:16:22 | Re: RECUPERANDO MIS BASES DE DATOS |
Previous Message | Edwin Perez Lozano | 2007-05-29 22:56:42 | Re: no puedo conseguir que me devuelva mas tuplas.... |