Buen dias amigos del foro
Estoy queriendo hacer mas flexible mi función y quiero hacer algo como
esto; anidar select dentro de un bloque case,... es posible hacer esto
begin
return query
case when $1='1' then
select c1,c2 from tabla where c1='ME' and c2='2013'
else
select c1,c2 from tabla
Hola lista
SELECT c1,c2 FROM tabla WHERE c1='ME' AND CASE WHEN $1='1' THEN c2='2013'
ELSE TRUE END;
El 21/09/2014 09:30, "Felipe Araoz Ramos" escribió:
> Buen dias amigos del foro
>
> Estoy queriendo hacer mas flexible mi función y quiero hacer algo como
> esto; anidar select dentro de un blo
Felipe animate a probarlo, a lo sumo te tirará un error!
Yo probaría con el return query dentro de cada bloque del case.
Guillermo Villanueva
El 21 de septiembre de 2014, 11:30, Felipe Araoz Ramos
escribió:
> Buen dias amigos del foro
>
> Estoy queriendo hacer mas flexible mi función y quiero
Felipe Araoz Ramos escribió:
> Buen dias amigos del foro
>
> Estoy queriendo hacer mas flexible mi función y quiero hacer algo como
> esto; anidar select dentro de un bloque case,... es posible hacer esto
>
> begin
> return query
> case when $1='1' then
>select c1,c2 from tabla where c1='ME
Hola Lista
Y asi:
begin
return query
select c1,c2 from tabla where c1='ME' and case $1 when '1'
then c2='2013'
else true end;
end;
El 22 de septiembre de 2014, 14:17, Alvaro Herrera
escribió:
> Felipe Araoz Ramos escribió:
> > Buen dias amigos del foro
> >
> > Estoy queriendo
Saludos.
yo lo haria menos complicado:
begin
return query
select c1,c2 from tabla where c1='ME' and c2='2013'
AND $1='1'
UNION ALL
select c1,c2 from tabla where c1='ME'
AND $1 !='1'
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000;
El 22 de septiembre de 2014