Re: initialize and use variable in query

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: initialize and use variable in query
Дата
Msg-id CAKFQuwbq63d_UX1cvKWLBQtymevSxbVM=vkaYG6hk1pq6rEELQ@mail.gmail.com
обсуждение исходный текст
Ответ на initialize and use variable in query  (Glenn Schultz <glenn@bondlab.io>)
Ответы initialize and use variable in query
Список pgsql-general
On Saturday, December 29, 2018, Glenn Schultz <glenn@bondlab.io> wrote:
All,

I need to initialize a variable and then use it in query.  Ultimately this will part of a recursive CTE but for now I just need to work this out.  I followed the docs and thought I needed something like this.  But does not work-maybe I have misunderstood.  Is this possible?

SET max_parallel_workers_per_gather = 8;
SET random_page_cost = 1;
SET enable_partitionwise_aggregate = on;
Do $$
Declare startdate date;
BEGIN
startdate := (select max(fctrdt) from fnmloan);
END $$;

The stuff in the DO block is plpgsql, the stuff outside is SQL.  SQL cannot see plpgsql variables.  And the plpgsql variables cease to exist at the end of the block anyway.

You need to use SET or set_config with a custom variable (namespaced) in the SQL portion of the script (examples are out there somewhere, not able to research for you presently).  Or maybe use psql and its features/variables...

David J.

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

Предыдущее
От: Ray O'Donnell
Дата:
Сообщение: Re: initialize and use variable in query
Следующее
От: "David G. Johnston"
Дата:
Сообщение: initialize and use variable in query