是的,一个PL/pgSQL函数可以返回一个表作为结果集。您可以在函数中定义一个返回类型为TABLE的变量,并在函数中生成和填充该表。例如:
CREATE OR REPLACE FUNCTION get_employees()
RETURNS TABLE(id INT, name TEXT, salary NUMERIC) AS $$
BEGIN
RETURN QUERY SELECT id, name, salary FROM employees;
END;
$$ LANGUAGE plpgsql;
在上面的示例中,我们定义了一个名为get_employees的函数,该函数返回一个包含id、name和salary字段的表,通过查询employees表来填充该表。您可以调用该函数并像查询表一样处理返回的结果集。