RETURNS TABLE(...)
. का उपयोग करने का विकल्प भी है (जैसा वर्णित है में पोस्टग्रेएसक्यूएल मैनुअल
), जिसे मैं व्यक्तिगत रूप से पसंद करता हूं:
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
. का उपयोग करने जैसा ही है , लेकिन किसी मौजूदा वस्तु को संदर्भित करने के बजाय तालिका संरचना को इनलाइन घोषित करता है, इसलिए जुड़ता है और ऐसा अभी भी काम करेगा।