संग्रहीत कार्यविधि और फ़ंक्शन के बीच का अंतर

Anonim

संग्रहीत कार्यविधि बनाम फ़ंक्शन

संग्रहित प्रक्रियाएं और कार्य दो तरह के प्रोग्रामिंग ब्लॉक उन दोनों को बुलाए नाम चाहिए। उन बुला नामों का उपयोग उन्हें एक अन्य प्रोग्रामिंग ब्लॉक जैसे प्रक्रिया कार्य और पैकेज या एसक्यूएल प्रश्नों के अंदर करने के लिए किया जाता है। इन ऑब्जेक्ट प्रकारों के दोनों पैरामीटर स्वीकार करते हैं और उन ऑब्जेक्ट्स के पीछे काम करते हैं। यह एक संग्रहित प्रक्रिया बनाने के लिए वाक्य रचना (ओरेकल में) है,

प्रक्रिया प्रक्रिया नाम (पैरामीटर) बनाने या बदलने के लिए

के रूप में

शुरू

बयान;

अपवाद

exception_handling

अंत;

और यहां एक समारोह बनाने के लिए वाक्यविन्यास है (ओरेकल में),

फ़ंक्शन function_name (पैरामीटर) बनाने या बदलने के लिए

वापसी वापसी_डेटा टाइप

के रूप में

शुरू

बयान;

वापस लौटने_मूल्य / चर;

अपवाद;

exception_handling;

अंत;

संग्रहित प्रक्रियाएं

जैसा कि ऊपर वर्णित है संग्रहित प्रक्रियाओं को प्रोग्रामिंग ब्लॉकों नाम दिया गया है। वे प्रक्रिया के पीछे तर्क के अनुसार उपयोगकर्ता इनपुट और प्रक्रिया के रूप में पैरामीटर स्वीकार करते हैं और परिणाम देते हैं (या एक विशिष्ट कार्य करते हैं)। ये पैरामीटर IN, OUT और INOUT प्रकार हो सकते हैं। वेरिएबल डिस्क्रिप्शन, वेरिएबल असाइनमेंट, कंट्रोल स्टेटमेंट, लूप्स, एसक्यूएल प्रश्नों और अन्य फ़ंक्शन / प्रोसेस / पैकेज कॉल्स प्रक्रिया के शरीर के अंदर हो सकते हैं।

फ़ंक्शंस

फ़ंक्शंस को प्रोग्रामिंग ब्लॉक्स नाम दिया गया है, जिसे रिटर्न स्टेटमेंट का उपयोग करके एक मूल्य वापस करना होगा और इससे पहले कि वह मूल्य लौटाए, उसके शरीर कुछ कार्यों को भी पूरा करता है (दिए गए तर्क के अनुसार)। कार्य भी चलने के लिए पैरामीटर स्वीकार करते हैं। कार्यों को क्वेरीज़ के अंदर कहा जा सकता है जब किसी फ़ंक्शन को एक SELECT क्वेरी के अंदर कहा जाता है, तो यह चयन क्वेरी के परिणाम समूह की प्रत्येक पंक्ति पर लागू होता है ओरेकल कार्यों की कई श्रेणियां हैं वे,

  • एकल पंक्ति फ़ंक्शंस (क्वेरी के प्रत्येक और हर पंक्ति के लिए एक भी परिणाम लौटाते हैं)

एकल पंक्ति कार्यों की उप श्रेणियां हैं

  • संख्यात्मक समारोह (उदा। एबीएस, एसआईएन, सीओएस)
  • चरित्र कार्य (पूर्व: CONCAT, INITCAP)
  • दिनांक समय समारोह (पूर्व: LAST_DAY, NEXT_DAY)
  • रूपांतरण कार्य (पूर्व: TO_CHAR, TO_DATE)
  • संग्रह समारोह (पूर्व: कार्डिनालिटी, एसईटी)
  • कुल कार्य (पंक्तियों के एक समूह के आधार पर एक एकल पंक्ति देता है, उदाहरण: एवीजी, एसएम, मैक्स)
  • विश्लेषणात्मक कार्य
  • ऑब्जेक्ट संदर्भ फ़ंक्शन
  • मॉडल फ़ंक्शंस
  • उपयोगकर्ता परिभाषित फ़ंक्शन

फ़ंक्शन और संग्रहीत कार्यविधि के बीच अंतर क्या है?

• सभी कार्यों को रिटर्न स्टेटमेंट का उपयोग करके एक मूल्य वापस करना होगा। संग्रहित प्रक्रियाएं रिटर्न स्टेटमेंट का उपयोग करके मान वापस नहीं करती हैं किसी प्रक्रिया के अंदर का रिटर्न स्टेटमेंट उसके नियंत्रण को कॉलिंग प्रोग्राम में वापस करेगा। OUT पैरामीटर को संग्रहीत कार्यविधियों से मान वापस करने के लिए उपयोग किया जा सकता है।

• कार्यों को क्वेरीज़ के अंदर बुलाया जा सकता है, लेकिन क्वेरीज़ के अंदर संग्रहीत कार्यविधियों का उपयोग नहीं किया जा सकता।

• रिटर्न डेटा प्रकार को फ़ंक्शन बनाने के लिए शामिल किया जाना चाहिए, लेकिन संग्रहीत कार्यविधि में डीडीएल, ऐसा नहीं है।