Thread: Feed a table function with a query

Feed a table function with a query

From
"Robert Wimmer"
Date:
Hi,

is there any possibility to feed a "table" function with a query. foe
example

CREATE FUNCTION func(id INT) RETURNS SETOF tmp AS ...

SELECT * FROM func(<scalar>); works as expected

What i want to do is something like

SELECT * FROM func((SELECT id FROM pers WHERE name ILIKE 'w%'));

i am using 8.0 on windows

regards sepp

_________________________________________________________________
Ein gigantisches Konzert kämpft gegen eine fortschreitende Klimakrise.
http://liveearthsos.msn.com/Hub.aspx?mkt=de-at


Re: Feed a table function with a query

From
Derrick Betts
Date:
Robert Wimmer wrote:
> Hi,
>
> is there any possibility to feed a "table" function with a query. foe
> example
>
> CREATE FUNCTION func(id INT) RETURNS SETOF tmp AS ...
>
> SELECT * FROM func(<scalar>); works as expected
>
> What i want to do is something like
>
> SELECT * FROM func((SELECT id FROM pers WHERE name ILIKE 'w%'));
>
> i am using 8.0 on windows
>
> regards sepp
>
> _________________________________________________________________
> Ein gigantisches Konzert kämpft gegen eine fortschreitende Klimakrise.
> http://liveearthsos.msn.com/Hub.aspx?mkt=de-at
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>
>
>
Inside of your function use the EXECUTE command.  Execute can execute a
text string, or a variable that is a qualified SQL command inside pl/pgSQL.
    EXECUTE 'SELECT id FROM pers WHERE name LIKE 'w%''; --I don't remember
how to work the quotes, you'll have to check the docs.