Help with case in select

Поиск
Список
Период
Сортировка
От Cristian Prieto
Тема Help with case in select
Дата
Msg-id 002501c53640$a6e2dea0$6e00a8c0@gt.ClickDiario.local
обсуждение исходный текст
Ответы Re: Help with case in select  (Richard Huxton <dev@archonet.com>)
Список 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...



В списке pgsql-general по дате отправления:

Предыдущее
От:
Дата:
Сообщение: Re: Temporary Tables
Следующее
От: Tom Lane
Дата:
Сообщение: Re: truncate/create slowness