SETOF record
returning लौटाते समय आउटपुट कॉलम टाइप नहीं किए गए हैं और उनका नाम नहीं है। इस प्रकार इस फॉर्म का उपयोग सीधे FROM क्लॉज में नहीं किया जा सकता है जैसे कि यह एक सबक्वेरी या टेबल हो।
यानी जारी करते समय:
SELECT * from events_by_type_2('social');
हमें यह त्रुटि मिलती है:
हालांकि इसे SQL कॉलर द्वारा सही कॉलम प्रकारों में "कास्ट" किया जा सकता है। यह फ़ॉर्म काम करता है:
SELECT * from events_by_type_2('social') as (id bigint, name text);
और इसमें परिणाम:
id | name ----+---------------- 1 | Dance Party 2 | Happy Hour ...
इस कारण SETOF record
कम व्यावहारिक माना जाता है। इसका उपयोग केवल तभी किया जाना चाहिए जब परिणामों के कॉलम प्रकार पहले से ज्ञात न हों।