अंतर यह है- एक फ़ंक्शन को इसकी डिफ़ॉल्ट परिभाषा के अनुसार एक मान (किसी भी प्रकार का) वापस करना होगा, जबकि एक प्रक्रिया के मामले में आपको OUT
जैसे मापदंडों का उपयोग करने की आवश्यकता होती है। या IN OUT
परिणाम प्राप्त करने के लिए पैरामीटर आप सामान्य SQL
में किसी फ़ंक्शन का उपयोग कर सकते हैं जहाँ आप SQL
. में एक प्रक्रिया का उपयोग नहीं कर सकते हैं बयान।
कार्यों और प्रक्रियाओं के बीच कुछ अंतर
-
एक फ़ंक्शन हमेशा रिटर्न स्टेटमेंट का उपयोग करके एक मान देता है, जबकि एक प्रक्रिया पैरामीटर के माध्यम से एक या अधिक मान लौटा सकती है या बिल्कुल भी वापस नहीं आ सकती है। हालांकि,
OUT
मापदंडों का अभी भी कार्यों में उपयोग किया जा सकता है, वे उचित नहीं हैं और न ही ऐसे मामले हैं जहां किसी को ऐसा करने की आवश्यकता हो सकती है।OUT
का उपयोग करना पैरामीटर किसी फ़ंक्शन को SQL कथन में उपयोग होने से रोकता है। -
फ़ंक्शंस का उपयोग विशिष्ट SQL कथनों में किया जा सकता है जैसे
SELECT
,INSERT
,UPDATE
,DELETE
,MERGE
, जबकि प्रक्रियाएं नहीं हो सकतीं। -
कार्यों का उपयोग आमतौर पर संगणना के लिए किया जाता है, जबकि प्रक्रियाओं का उपयोग आमतौर पर व्यावसायिक तर्क को निष्पादित करने के लिए किया जाता है।
-
Oracle बाद के SQL स्टेटमेंट के प्रदर्शन को बेहतर बनाने के लिए "फंक्शन बेस्ड इंडेक्स" बनाने का प्रावधान प्रदान करता है। यह एक अनुक्रमित कॉलम पर फ़ंक्शन निष्पादित करते समय लागू होता है जहां एक क्वेरी का खंड होता है।
कार्य बनाम पर अधिक जानकारी। यहां और यहां प्रक्रियाएं।