Hello
I don't know if I understand well, but you can do
select (f).* from (select f(var) from xtable where ...) x;
Regards
Pavel Stehule
2011/6/16 Frank Miles <fpm@u.washington.edu>:
> I have a function that returns a set of a defined type, something like:
>
> CREATE OR REPLACE FUNCTION f(arg) RETURNS SETOF return_type AS $$
> ...
> $$ LANGUAGE 'plpgsql' STABLE with (isstrict);
>
> Ordinarily this function is called:
>
> SELECT * FROM f(constant);
>
> But what I want to do is more like:
> SELECT * FROM f(var) WHERE var IN (SELECT var FROM xtable WHERE ...);
>
> This fails, as does
> SELECT * FROM f(var) WHERE var IN (constant);
>
> ->> Is there some syntax that will allow me to perform this operation?
>
> Note that there are differing ways for "arg" to be determined, so I'd rather
> not
> merge this operation into f() - I would have to have a number of f()'s, each
> with
> its own mechanism for developing its "arg"s.
>
> -------------
> Running Postgresql 8.4.7 on Debian 'squeeze'.
>
> Thanks for any pointers to documentation that I have overlooked in my
> search!
>
> -f
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>