Help with case in select

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...

Responses

Browse pgsql-general by date

  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