PL / SQL ब्लॉक क्या है?
पीएल / एसक्यूएल में, कोड को एकल पंक्ति प्रारूप में निष्पादित नहीं किया जाता है, लेकिन इसे हमेशा कोड को एकल तत्व में ब्लॉक करके निष्पादित किया जाता है। इस ट्यूटोरियल में, आप इन ब्लॉकों के बारे में जानने वाले हैं।
ब्लॉक में PL / SQL और साथ ही SQL निर्देश दोनों होते हैं। इन सभी निर्देशों को एक बार में एक ही निर्देश निष्पादित करने के बजाय एक पूरे के रूप में निष्पादित किया जाएगा।
इस ट्यूटोरियल में, आप सीखेंगे:
- PL / SQL ब्लॉक क्या है?
- ब्लॉक संरचना
- PL / SQL ब्लॉक सिंटैक्स
- PL / SQL ब्लॉक के प्रकार
ब्लॉक संरचना
पीएल / एसक्यूएल ब्लॉकों में एक पूर्व-परिभाषित संरचना होती है जिसमें कोड को समूहीकृत करना होता है। नीचे PL / SQL ब्लॉक के विभिन्न खंड हैं।
- घोषणा खंड
- निष्पादन अनुभाग
- अपवाद-हैंडलिंग अनुभाग
नीचे दी गई तस्वीर विभिन्न पीएल / एसक्यूएल ब्लॉक और उनके खंड क्रम को दर्शाती है।
घोषणा खंड
यह PL / SQL ब्लॉक का पहला खंड है। यह खंड एक वैकल्पिक हिस्सा है। यह वह खंड है जिसमें ब्लॉक में आवश्यक चर, कर्सर, अपवाद, उपप्रोग्राम, प्रगति निर्देश और संग्रह की घोषणा की जाएगी। नीचे इस भाग की कुछ और विशेषताएँ दी गई हैं।
- यह विशेष खंड वैकल्पिक है और यदि कोई घोषणाओं की आवश्यकता नहीं है तो इसे छोड़ दिया जा सकता है।
- पीएल / एसक्यूएल ब्लॉक में यह पहला सेक्शन होना चाहिए, यदि मौजूद हो।
- यह खंड ट्रिगर और अनाम ब्लॉक के लिए 'DECLARE' कीवर्ड से शुरू होता है। अन्य उपप्रोग्राम के लिए, यह कीवर्ड मौजूद नहीं होगा। इसके बजाय, उपप्रोग्राम नाम परिभाषा के बाद का भाग घोषणा अनुभाग को चिह्नित करता है।
- इस अनुभाग को हमेशा निष्पादन अनुभाग द्वारा पालन किया जाना चाहिए।
निष्पादन अनुभाग
निष्पादन भाग मुख्य और अनिवार्य हिस्सा है जो वास्तव में उस कोड को निष्पादित करता है जो इसके अंदर लिखा गया है। चूंकि पीएल / एसक्यूएल इस ब्लॉक से निष्पादन योग्य बयानों की अपेक्षा करता है, इसलिए यह एक खाली ब्लॉक नहीं हो सकता है, अर्थात, इसमें कम से कम एक मान्य निष्पादन योग्य कोड लाइन होनी चाहिए। नीचे इस भाग की कुछ और विशेषताएँ दी गई हैं।
- इसमें PL / SQL कोड और SQL कोड दोनों हो सकते हैं।
- इसमें नेस्टेड ब्लॉक के रूप में इसके अंदर एक या कई ब्लॉक हो सकते हैं।
- यह खंड 'BEGIN' कीवर्ड से शुरू होता है।
- इस खंड का पालन 'अंत' या अपवाद-संचालन अनुभाग (यदि वर्तमान में) द्वारा किया जाना चाहिए
अपवाद-हैंडलिंग अनुभाग:
अपवाद उस कार्यक्रम में अपरिहार्य है जो रन-टाइम पर होता है और इस ओरेकल को संभालने के लिए ब्लॉकों में एक अपवाद-संचालन अनुभाग प्रदान किया गया है। इस खंड में PL / SQL कथन भी हो सकते हैं। यह PL / SQL ब्लॉक का एक वैकल्पिक खंड है।
- यह वह खंड है जहां निष्पादन ब्लॉक में उठाए गए अपवाद को नियंत्रित किया जाता है।
- यह खंड PL / SQL ब्लॉक का अंतिम भाग है।
- इस खंड से नियंत्रण कभी भी निष्पादन ब्लॉक में वापस नहीं आ सकता है।
- यह खंड 'EXCEPTION' कीवर्ड से शुरू होता है।
- इस खंड को हमेशा always END ’कीवर्ड का पालन करना चाहिए।
कीवर्ड 'END' PL / SQL ब्लॉक के अंत को चिह्नित करता है।
PL / SQL ब्लॉक सिंटैक्स
नीचे PL / SQL ब्लॉक संरचना का सिंटैक्स है।
DECLARE --optionalBEGIN --mandatory EXCEPTION --optional END; --mandatory/
नोट: एक ब्लॉक का पालन हमेशा '/' द्वारा किया जाना चाहिए जो कंपाइलर को ब्लॉक के अंत की जानकारी भेजता है।
PL / SQL ब्लॉक के प्रकार
PL / SQL ब्लॉक मुख्य रूप से दो प्रकार के होते हैं।
- अनाम ब्लॉक
- नामित ब्लॉक
अनाम ब्लॉक:
बेनामी ब्लॉक पीएल / एसक्यूएल ब्लॉक हैं जिनके पास कोई भी नाम नहीं है। उन्हें उसी सत्र में बनाने और उपयोग करने की आवश्यकता होती है क्योंकि वे सर्वर में डेटाबेस ऑब्जेक्ट के रूप में संग्रहीत नहीं होंगे।
चूंकि उन्हें डेटाबेस में स्टोर करने की आवश्यकता नहीं है, इसलिए उन्हें कोई संकलन चरणों की आवश्यकता नहीं है। वे सीधे लिखे और निष्पादित किए जाते हैं, और संकलन और निष्पादन एक ही प्रक्रिया में होता है।
नीचे बेनामी ब्लॉकों की कुछ और विशेषताएं हैं।
- इन ब्लॉकों में उनके लिए निर्दिष्ट कोई संदर्भ नाम नहीं है।
- ये ब्लॉक 'DECLARE' या 'BEGIN' कीवर्ड से शुरू होते हैं।
- चूंकि इन ब्लॉकों का कोई संदर्भ नाम नहीं है, इसलिए इन्हें बाद के उद्देश्य के लिए संग्रहीत नहीं किया जा सकता है। उन्हें उसी सत्र में बनाया और निष्पादित किया जाएगा।
- वे अन्य नामित ब्लॉकों को कॉल कर सकते हैं, लेकिन अनाम ब्लॉक को कॉल करना संभव नहीं है क्योंकि यह कोई संदर्भ नहीं है।
- इसमें नेस्टेड ब्लॉक हो सकता है जो नाम या अनाम हो सकता है। यह किसी भी ब्लॉक में नेस्टेड हो सकता है।
- इन ब्लॉकों में ब्लॉक के सभी तीन खंड हो सकते हैं, जिसमें निष्पादन अनुभाग अनिवार्य है, अन्य दो खंड वैकल्पिक हैं।
नामित ब्लॉक:
नामित ब्लॉकों का उनके लिए एक विशिष्ट और अद्वितीय नाम है। उन्हें सर्वर में डेटाबेस ऑब्जेक्ट के रूप में संग्रहीत किया जाता है। चूंकि वे डेटाबेस ऑब्जेक्ट के रूप में उपलब्ध हैं, इसलिए जब तक यह सर्वर पर मौजूद है, तब तक उन्हें संदर्भित या उपयोग किया जा सकता है। डेटाबेस ब्लॉक के रूप में बनाते समय नामित ब्लॉकों की संकलन प्रक्रिया अलग-अलग होती है।
नीचे नामित ब्लॉकों की कुछ और विशेषताएं हैं।
- इन ब्लॉकों को अन्य ब्लॉकों से बुलाया जा सकता है।
- ब्लॉक की संरचना एक अनाम ब्लॉक के समान है, सिवाय इसके कि यह कभी भी 'DECLARE' कीवर्ड से शुरू नहीं होगा। इसके बजाय, यह 'क्रिएट' कीवर्ड से शुरू होगा जो कंपाइलर को डेटाबेस ऑब्जेक्ट के रूप में बनाने का निर्देश देता है।
- इन ब्लॉकों को अन्य ब्लॉकों के भीतर नस्ट किया जा सकता है। इसमें नेस्टेड ब्लॉक भी हो सकते हैं।
- नामित ब्लॉक मूल रूप से दो प्रकार के होते हैं:
- प्रक्रिया
- समारोह
सारांश
इस ट्यूटोरियल के बाद, आपको पीएल / एसक्यूएल ब्लॉक और इसके प्रकार, ब्लॉक के विभिन्न वर्गों और उनके उपयोगों के बारे में पता होना चाहिए। नामित PL / SQL ब्लॉक का विस्तृत विवरण बाद के ट्यूटोरियल में कवर किया जाएगा।