Just refactor DO block to function that returns row set and put SELECT inside.

> 29 дек. 2018 г., в 18:40, Glenn Schultz <gl...@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 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 $$;
>       
>       select 
>       fnmloan.loanseqnum
>       ,fnmloan.currrpb
>       from
>       fnmloan
>       
>       join
>       fnmloan_data
>       on
>       fnmloan_data.loanseqnum = fnmloan.loanseqnum
>       
>       where
>       fnmloan.fctrdt = (select * from startdate)
> 
>       limit 10



Reply via email to