如何优化此功能以仅调用一次函数?

时间:2019-06-09 14:26:14

标签: postgresql

在此SQL函数中,我只想调用一次返回表值函数的函数

CREATE OR REPLACE FUNCTION get_active(p_id UUID)
RETURNS TABLE
(
    id                  UUID,
    date                TIMESTAMP WITH TIME ZONE
)
AS $$
    SELECT f1.id,
           f1.date
    FROM   get_records(p_id) f1
    WHERE f1.date =
          (
            SELECT max(f2.date)
            FROM get_records(p_id) f2
          );
$$ LANGUAGE sql;


我想通过某种方式存储get_records(p_id)的结果来优化此SQL,但是由于Postgres中没有表变量的概念,因此我很难做到这一点

0 个答案:

没有答案