अन्य इंजनों में कार्यों से चयन करना संभव है। उदाहरण के लिए, Oracle आपको एक फ़ंक्शन लिखने की अनुमति देता है जो उपयोगकर्ता परिभाषित प्रकार की तालिका देता है। आप फ़ंक्शन में परिणाम सेट को परिभाषित कर सकते हैं, उन्हें प्रश्नों का उपयोग करके या चयन और कोड के संयोजन का उपयोग करके भी भर सकते हैं। आखिरकार, परिणाम सेट को फ़ंक्शन से वापस किया जा सकता है, और आप इसका उपयोग करके उस पर क्वेरी करना जारी रख सकते हैं:
select * from table(FunctionToBeCalls(parameters));
एकमात्र नुकसान यह है कि यह परिणाम सेट अनुक्रमित नहीं है, इसलिए यदि फ़ंक्शन का उपयोग किसी जटिल क्वेरी में किया जाता है तो यह धीमा हो सकता है।
MySQL में ऐसा कुछ भी संभव नहीं है। किसी प्रक्रिया से सीधे चयनित क्वेरी में परिणाम सेट का उपयोग करने का कोई तरीका नहीं है। आप किसी फ़ंक्शन से एकल मान वापस कर सकते हैं और आप OUT
. का उपयोग कर सकते हैं या INOUT
आपके लिए पैरामीटर से मान वापस करने की प्रक्रिया। लेकिन संपूर्ण परिणाम सेट संभव नहीं है। आपके भीतर एक अस्थायी तालिका भरना प्रक्रिया सबसे नज़दीक है।