Re: Passing dynamic parameters to a table-returning function

Поиск
Список
Период
Сортировка
От Moshe Jacobson
Тема Re: Passing dynamic parameters to a table-returning function
Дата
Msg-id CAJ4CxLm=5=c0nrr6kJtyZmdXaDveMtCbFcDDZ9+oUydY=Oh-rQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Passing dynamic parameters to a table-returning function  (David Johnston <polobo@yahoo.com>)
Список pgsql-general
This should be the example used in the docs for LATERAL JOIN rather than the contrived, rather useless example that is there today.


Moshe Jacobson
Manager of Systems Engineering, Nead Werx Inc.
2323 Cumberland Parkway · Suite 201 · Atlanta, GA 30339

"Quality is not an act, it is a habit." -- Aristotle


On Mon, Feb 4, 2013 at 6:49 PM, David Johnston <polobo@yahoo.com> wrote:
Moshe Jacobson wrote
>  I'm
> unsure of the syntax for passing in values from columns in the database as
> the parameters of a set-returning function from which I want to select *.

General form for this in version <= 9.2:

WITH func_call_cte AS (
SELECT func_call(col1, col2, col3) AS func_result
FROM table_with_cols_123
)
SELECT (func_result).*
FROM func_call_cte;

9.3 will have "LATERAL" and so should be much cleaner.

The general idea is you have to put the function into the select-list so it
can see the columns of the table in the FROM.  To avoid multiple evaluations
of the function you have to treat the output set as a single typed column
(func_result) and then in an outer query layer (in this case outside the
WITH) you can generically expand the typed column into its component parts.

HTH,

David J.



--
View this message in context: http://postgresql.1045698.n5.nabble.com/Passing-dynamic-parameters-to-a-table-returning-function-tp5743680p5743726.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

В списке pgsql-general по дате отправления:

Предыдущее
От: Steve Clark
Дата:
Сообщение: reindexdb
Следующее
От: Steve Crawford
Дата:
Сообщение: Re: reindexdb