Hello it has sense only for array type
so you can try: create replace function foo(anyarray) returns bool as $$ begin return (select 1 = any($1)); end ; $$ language plpgsql; postgres=# select foo(array[1,2,3]); foo ----- t (1 row) postgres=# select foo(array[2,3]); foo ----- f (1 row) Regards Pavel Stehule On 29/12/2007, Daniel Myers <[EMAIL PROTECTED]> wrote: > Hello list, > I'm trying to write a function that uses one of its arguments as > an input to an IN operator in a WHERE clause. I.e., something like: > > -- ids are actually integers > CREATE FUNCTION foo(ids SOMETYPE) RETURNS [whatever] AS $$ > BEGIN > SELECT id, [other stuff] FROM table WHERE [other conditions] AND > id IN (ids); > RETURN; > END > $$ plpgsql > > I had wanted to avoid using the EXECUTE statement and dynamically > creating the query string, because 1) I'd rather not recompile the > query each time and 2) I'm doing a SELECT INTO, which apparently > doesn't work with EXECUTE. > > Can anyone help me out? > > Thanks, > Daniel > > P.S.: Sorry if capitalizing SQL keywords is bad list etiquette... > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq > ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq