Обсуждение: variadic function, query "in", help with syntax/function
Briefly, what would it take to make the following work?
create function getbatch (variadic ids int8[]) returns setof foobar as $$
begin
return query
select * from foobar where id in (ids);
end;
$$ language plpgsql;
--
Scott Ribe
scott_ribe@elevated-dev.com
http://www.elevated-dev.com/
(303) 722-0567 voice
Hello
2012/10/21 Scott Ribe <scott_ribe@elevated-dev.com>:
> Briefly, what would it take to make the following work?
>
> create function getbatch (variadic ids int8[]) returns setof foobar as $$
> begin
> return query
> select * from foobar where id in (ids);
> end;
> $$ language plpgsql;
>
create function getbatch (variadic ids int8[]) returns setof foobar as $$
begin
return query
select * from foobar where id = any (ids);
end;
$$ language plpgsql;
note, for these single statement function, sql language is better
regards
Pavel Stehule
> --
> Scott Ribe
> scott_ribe@elevated-dev.com
> http://www.elevated-dev.com/
> (303) 722-0567 voice
>
>
>
>
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
On Oct 21, 2012, at 11:01 AM, Pavel Stehule wrote: > Hello > > 2012/10/21 Scott Ribe <scott_ribe@elevated-dev.com>: >> Briefly, what would it take to make the following work? >> >> create function getbatch (variadic ids int8[]) returns setof foobar as $$ >> begin >> return query >> select * from foobar where id in (ids); >> end; >> $$ language plpgsql; >> > > create function getbatch (variadic ids int8[]) returns setof foobar as $$ > begin > return query > select * from foobar where id = any (ids); > end; > $$ language plpgsql; Ah, thanks, I didn't know any worked in that context--I've just used it (and only seen examples) the other way: const_id= any(somecol). > note, for these single statement function, sql language is better I greatly simplified it for the question; it's kind of a nasty function that's multiple unions of multiple joins. -- Scott Ribe scott_ribe@elevated-dev.com http://www.elevated-dev.com/ (303) 722-0567 voice