Gracias Jaime:
Como tu dices debería pero solo me retorna la primera,
ciertamente tenias razón como no se me ocurrió antes, pero tengo una
duda desde hace tiempo, lo vi en algún hilo en esta comunidad pero no me
quedo claro, que es mas eficiente retornar un conjunto de registros con
sql o en plpgsql con un for loop return next, claro que con conjuntos de
pocos registros o base de datos pequeñas no creo que haya mucha
diferencia pero cuando se trata de gran cantidad de registros digamos un
millonm de registro que es mas eficiente cual de las dos alternativas es
mas eficiente.
gracias por la ayuda y los comentarios.
Jaime Casanova escribió:
> 2008/9/15 jalvarez <jalvarez(at)renova(dot)com(dot)pe>:
>
>> Hola a todos.
>> Necesito una manito en esto quiero devolver son conjuntos de registros
>> en una misma funcion, algo asi como un union pero con for loop y record,
>> intente hacer algo como lo que sigue pero solo me retorna el primer conjunto
>> mas no el segundo
>>
>>
>
> funciona para mi... algo estas haciendo mal... seguro que es esa la
> funcion que estas ejecutando?
>
>
>
>> for registrosini in select campo1,campo2,campo3 from tabla1 loop
>> return next registrosini;
>>
>> end loop;
>> for registros in select campo1,campo2,campo3 from tabla2 loop
>> return next registros;
>> end loop;
>>
>
> esto parece un poco elaborado... porque no simplemente?
>
> for registros in select campo1, campo2, campo3 from tabla1
> union all
> select campo1, campo2, campo3 from tabla2
> loop
> return next registros;
> end loop;
>
>
> o mejor aun:
>
> create function funcion() returns setof type_tipo as $$
> select campo1, campo2, campo3 from tabla1
> union all
> select campo1, campo2, campo3 from tabla2;
> $$ language sql stable;
>
>
>