किसी भी व्यक्ति के लिए, जिसने कभी सी, सी ++ या जावा जैसी प्रोग्रामिंग भाषाओं का अध्ययन किया है, कार्यों की अवधारणा नई नहीं है। कार्य और कुछ नहीं बल्कि निष्पादन योग्य कथनों का एक समूह है। फ़ंक्शंस का उपयोग करके आप एक ही प्रोग्रामिंग लॉजिक को बार-बार लिखने से खुद को बचा सकते हैं। तो हम Oracle PL/SQL में किसी फ़ंक्शन को कैसे परिभाषित कर सकते हैं?
Oracle डेटाबेस में PL/SQL फ़ंक्शन क्या हैं?
Oracle डेटाबेस में हम एक PL/SQL फ़ंक्शन को एक स्व-निहित उप-प्रोग्राम के रूप में परिभाषित कर सकते हैं जो कुछ विशिष्ट अच्छी तरह से परिभाषित कार्य करने के लिए है। फ़ंक्शंस को PL / SQL ब्लॉक नाम दिया गया है, जिसका अर्थ है कि उन्हें डेटाबेस में डेटाबेस ऑब्जेक्ट के रूप में संग्रहीत किया जा सकता है और पुन:उपयोग किया जा सकता है। यही कारण है कि कुछ पुस्तकें पीएल/एसक्यूएल कार्यों को संग्रहीत कार्यों के रूप में संदर्भित करती हैं।
Oracle डेटाबेस में PL/SQL फ़ंक्शन के प्रकार
Oracle डाटाबेस में दो प्रकार के PL/SQL फंक्शन हैं, ये हैं
- पास-बाय-वैल्यू फ़ंक्शंस और
- पास-दर-संदर्भ कार्य
Oracle डेटाबेस में दोनों प्रकार के फंक्शन को कुछ मान वापस करने होंगे और ये मान एक मान्य SQL या PL/SQL डेटाटाइप होने चाहिए।
Oracle डेटाबेस में PL/SQL फ़ंक्शंस का सिंटैक्स
CREATE [OR REPLACE] FUNCTION function_name (Parameter 1, Parameter 2…) RETURN datatype IS Declare variable, constant etc. BEGIN Executable Statements Return (Return Value); END;
मैंने इसी विषय पर अपने YouTube चैनल पर वीडियो ट्यूटोरियल में PL/SQL फ़ंक्शन के सिंटैक्स लाइन बाय लाइन पर चर्चा की है। मेरा सुझाव है कि आप एक बार जाकर उस ट्यूटोरियल को देखें।
कार्य निष्पादन विधि
आपकी रचनात्मकता और प्रोग्रामिंग कौशल के आधार पर, पीएल/एसक्यूएल फ़ंक्शन को कई तरीकों से बुलाया जा सकता है। यहाँ Oracle डेटाबेस में PL/SQL फ़ंक्शन को कॉल करने के कुछ सामान्य तरीके दिए गए हैं
- आप Oracle डेटाबेस की SQL*Plus उपयोगिता का उपयोग PL/SQL फ़ंक्शन को लागू करने के लिए कर सकते हैं जिसे PL/SQL से प्रक्रियात्मक विवरण के रूप में कहा जा सकता है।
- किसी फ़ंक्शन को कॉल करने के लिए एक अनाम PL/SQL ब्लॉक का भी उपयोग किया जा सकता है।
- आप किसी फ़ंक्शन को सीधे SELECT या DML स्टेटमेंट में कॉल भी कर सकते हैं।
बने रहें हम अगले ट्यूटोरियल में PL/SQL फ़ंक्शन के निष्पादन के इन तरीकों में से प्रत्येक पर चर्चा करेंगे।
किसी फ़ंक्शन को कॉल करने पर प्रतिबंध
- एक फ़ंक्शन जो SQL डेटाटाइप लौटाता है, SQL कथन के अंदर उपयोग किया जा सकता है और एक PL/SQL फ़ंक्शन जो PL/SQL डेटाटाइप लौटाता है वह केवल PL/SQL ब्लॉक के अंदर काम करता है। इस नियम का एक अपवाद यह है कि, आप किसी ऐसे फ़ंक्शन को कॉल नहीं कर सकते हैं जिसमें SQL क्वेरी के अंदर DML ऑपरेशन हो। हालाँकि आप एक ऐसे फ़ंक्शन को कॉल कर सकते हैं जो INSERT, UPDATE और DELETE के अंदर DML ऑपरेशन करता है।
- किसी तालिका पर UPDATE या DELETE स्टेटमेंट से कॉल किया जाने वाला फ़ंक्शन एक ही टेबल पर क्वेरी (चयन) या लेनदेन (डीएमएल) नहीं कर सकता है।
- एसक्यूएल एक्सप्रेशन से बुलाए गए फ़ंक्शन में TCL (COMMIT या ROLLBACK) कमांड या DDL (CREATE या ALTER) कमांड नहीं हो सकता है
Oracle डेटाबेस में PL/SQL फ़ंक्शंस का परिचय पर इस ट्यूटोरियल के लिए बस इतना ही। अगले ट्यूटोरियल की जाँच करना सुनिश्चित करें जहाँ मैं एक बहुत ही सरल उदाहरण का उपयोग करके PL/SQL फ़ंक्शन के निर्माण को प्रदर्शित करता हूँ।
इस ब्लॉग को अपने सोशल मीडिया पर साझा करना भी सुनिश्चित करें क्योंकि मैं हर महीने बेतरतीब ढंग से चुने गए विजेता में से एक को रिबेलियनराइडर का माल दे रहा हूं। अधिक अपडेट के लिए मुझे मेरे फेसबुक और ट्विटर पर फॉलो करें।
पढ़ने के लिए धन्यवाद और आपका दिन शुभ हो!