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???
Some things to check:
1. Do you have a column "ag" in either of those tables?
2. You should make "alladv" an integer (or whatever type "userid" is) rather than a record.
3. "userid in alladv" - why not "userid = alladv"?
-- Richard Huxton Archonet Ltd
---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly