Just refactor DO block to function that returns row set and put SELECT inside.
> 29 дек. 2018 г., в 18:40, Glenn Schultz <glenn@bondlab.io> написал(а):
>
> 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
justneed to work this out. I followed the docs and thought I needed something like this. But does not work-maybe I
havemisunderstood. 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 $$;
>
> select
> fnmloan.loanseqnum
> ,fnmloan.currrpb
> from
> fnmloan
>
> join
> fnmloan_data
> on
> fnmloan_data.loanseqnum = fnmloan.loanseqnum
>
> where
> fnmloan.fctrdt = (select * from startdate)
>
> limit 10