是的,一個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表來填充該表。您可以調用該函數并像查詢表一樣處理返回的結果集。