स्टोर्ड प्रोसीजर
MySQL में, एक स्टोर्ड प्रोसीजर को CALL स्टेटमेंट की मदद से बुलाया जाता है। एक स्टोर्ड प्रोसीजर एक से अधिक मान (multiple values) वापस कर सकता है।
डिफ़ॉल्ट रूप से, एक स्टोर्ड प्रोसीजर 0 वापस करता है। इसका उपयोग SQL क्वेरी के अंदर नहीं किया जा सकता और यह प्री-कंपाइल (pre-compiled) पर आधारित होता है।
फंक्शन (Function)
एक फंक्शन को SQL स्टेटमेंट के अंदर बुलाया जा सकता है। यह RETURN स्टेटमेंट की मदद से एक मान वापस करता है और केवल एक ही मान (single value) वापस कर सकता है।
एक फंक्शन कोई भी सिंगल मान वापस कर सकता है, जिसमें एक टेबल भी शामिल है। इसका उपयोग SQL क्वेरी के अंदर किया जा सकता है और यह प्री-कंपाइल पर आधारित नहीं होता।
मुख्य अंतर सारांश
- वापसी मान: प्रोसीजर एकाधिक मान वापस कर सकता है; फंक्शन केवल एक मान।
- उपयोग: फंक्शन को SELECT/WHERE क्लॉज में इस्तेमाल किया जा सकता है; प्रोसीजर को नहीं।
- कंपाइलेशन: प्रोसीजर प्री-कंपाइल्ड होता है; फंक्शन रनटाइम पर कंपाइल होता है।
- लेनदेन नियंत्रण: प्रोसीजर में ट्रांजैक्शन मैनेजमेंट (COMMIT/ROLLBACK) संभव है; फंक्शन में नहीं।