RETURNS TABLE(...)
を使用するオプションもあります (で説明されているようにPostgreSQLマニュアル
)、私が個人的に好むもの:
CREATE OR REPLACE FUNCTION get_countries()
RETURNS TABLE(
country_code text,
country_name text
)
AS $$
SELECT country_code, country_name FROM country_codes
$$ LANGUAGE sql;
これは、SETOF tablename
を使用するのと実質的に同じです。 、ただし、既存のオブジェクトを参照する代わりにテーブル構造をインラインで宣言するため、結合などは引き続き機能します。