On Thu, Aug 20, 2009 at 10:17 AM, Gerardo Herzig<gher...@fmed.uba.ar> wrote: > Hi all. I have 2 functions , which returns the same columns, but with > tottaly different logics. I want to wrap it with a third function, who > will receive a boolean argument to decide wich sub-function have to use. > > I want to use case, so i dont have to use pl/pgsql. > > This is a non-working example: > > > CREATE OR REPLACE FUNCTION get_oferta(varchar, varchar, varchar, bool, > OUT cod varchar , OUT description varchar) > returns setof record > security definer > as > $$ > select * from case $4 when true then > (select * from get_oferta_from_a($1, $2, $3)) > else > (select * from get_oferta_from_b($1, $2, $3)) > end; > $$ language sql; > > Can i use case for a case like this? > > Thanks! > Gerardo
Try: SELECT * FROM get_oferta_from_a ($1, $2, $3) WHERE $4 UNION ALL SELECT * FROM get_oferta_from_b ($1, $2, $3) WHERE NOT $4; -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql