在Postgres中,我想“存储”表的当前状态,并以该当前状态调用多个函数。这个想法是,如果在调用函数之间更改数据,则这些函数仍将全部使用相同的数据。
我得到的最接近的东西是
WITH current_table AS (SELECT * FROM table)
result1 AS (SELECT function1(current_table)),
result2 AS (SELECT function2(current_table)),
SELECT function3(current_table)
该函数不返回任何内容,因此不使用result1和result2。据我所知,这当然行不通,因为无法将CTE传递给postgres中的函数。
我想实现的目标有替代方法吗?也调用嵌套在with语句中的函数是很丑陋的。有更好的方法吗?
我不想将整个表存储在临时表中。
我正在使用plpgsql。