From: | "Cristian Prieto" <cristian(at)clickdiario(dot)com> |
---|---|
To: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Help with case in select |
Date: | 2005-03-31 22:26:08 |
Message-ID: | 002501c53640$a6e2dea0$6e00a8c0@gt.ClickDiario.local |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello, I have the following sp, I need to return a 'Flag' if the ID of the
row is in the prior select, I tryed with the following code:
create or replace function sp_getadvertisers(ag integer) returns record as
$main$
declare
alladv record;
retrec record;
begin
-- Primero buscamos todas las campanas de este advertiser q sean hijos
select into alladv userid from advertiser where agenciaid=ag and adv_parent
is not null;
select into retrec userid, case when userid in alladv then 'P' when
adv_parent is not null then 'S' else null end from advertiser where
agenciaid=ag;
return retrec;
end;
$main$
language plpgsql;
But it returns me:
ERROR: syntax error at or near "$1" at character 38
QUERY: SELECT userid, case when userid in $1 then 'P' when adv_parent is
not null then 'S' else null end from advertiser where agenciaid= $2
CONTEXT: PL/pgSQL function "sp_getadvertisers" line 7 at select into
variables
LINE 1: SELECT userid, case when userid in $1 then 'P' when adv_p...
Any Idea how could I change it to work? ideas???
Thanks a lot...
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2005-03-31 23:33:32 | Re: truncate/create slowness |
Previous Message | tony_caduto | 2005-03-31 22:12:58 | Re: Temporary Tables |