PL/SQL ब्लॉक: संरचना, सिंटैक्स और अनाम उदाहरण
⚡ स्मार्ट सारांश
PL/SQL ब्लॉक एक मूलभूत इकाई है जो PL/SQL और SQL निर्देशों को समूहित करती है ताकि वे पंक्ति दर पंक्ति के बजाय एक साथ निष्पादित हों। प्रत्येक ब्लॉक में एक घोषणा, निष्पादन और अपवाद-हैंडलिंग अनुभाग होता है, और ब्लॉक अनाम या नामित हो सकते हैं।

PL/SQL ब्लॉक क्या है?
PL/SQL में, कोड एकल-पंक्ति प्रारूप में निष्पादित नहीं होता है; यह हमेशा समूहबद्ध रूप से निष्पादित होता है।ping इस ट्यूटोरियल में, आप कोड को ब्लॉक नामक एक ही तत्व में परिवर्तित करना सीखेंगे। इस ट्यूटोरियल में, आप इन ब्लॉकों के बारे में जानेंगे।
ब्लॉक में PL/SQL और SQL दोनों प्रकार के निर्देश होते हैं। ये सभी निर्देश एक-एक करके निष्पादित होने के बजाय एक साथ निष्पादित होते हैं।
ब्लॉक संरचना
PL/SQL ब्लॉक की एक पूर्व-परिभाषित संरचना होती है जिसमें कोड को समूहित किया जाता है। नीचे PL/SQL ब्लॉक के विभिन्न भाग दिए गए हैं:
- घोषणा अनुभाग
- निष्पादन अनुभाग
- अपवाद-हैंडलिंग अनुभाग
नीचे दी गई तस्वीर में विभिन्न PL/SQL ब्लॉक सेक्शन और उनका क्रम दर्शाया गया है।
घोषणा अनुभाग
यह PL/SQL ब्लॉक का पहला भाग है, और यह वैकल्पिक है। यह वह भाग है जिसमें ब्लॉक में आवश्यक चर, कर्सर, अपवाद, उपप्रोग्राम, प्रैगमा निर्देश और संग्रह घोषित किए जाते हैं। इस भाग की कुछ और विशेषताएं इस प्रकार हैं:
- यह अनुभाग वैकल्पिक है और यदि किसी घोषणा की आवश्यकता नहीं है तो इसे छोड़ा जा सकता है।
- यदि मौजूद हो तो यह PL/SQL ब्लॉक का पहला भाग होना चाहिए।
- ट्रिगर्स और अनाम ब्लॉकों के लिए यह 'DECLARE' कीवर्ड से शुरू होता है। अन्य सबप्रोग्रामों के लिए यह कीवर्ड मौजूद नहीं होता; इसके बजाय, सबप्रोग्राम नाम के बाद का भाग घोषणा अनुभाग को दर्शाता है।
- इसके बाद हमेशा क्रियान्वयन अनुभाग आना चाहिए।
निष्पादन अनुभाग
निष्पादन भाग मुख्य और अनिवार्य भाग है जो वास्तव में इसके अंदर लिखे गए कोड को निष्पादित करता है। PL / SQL इसमें निष्पादन योग्य कथन अपेक्षित हैं, यह ब्लॉक खाली नहीं हो सकता और इसमें कम से कम एक वैध निष्पादन योग्य पंक्ति होनी चाहिए। इस भाग की कुछ और विशेषताएं इस प्रकार हैं:
- इसमें PL/SQL कोड और SQL कोड दोनों शामिल हो सकते हैं।
- इसमें एक या अनेक ब्लॉक नेस्टेड ब्लॉक के रूप में समाहित हो सकते हैं।
- यह 'BEGIN' कीवर्ड से शुरू होता है।
- इसके बाद या तो 'END' होना चाहिए या फिर अपवाद-हैंडलिंग अनुभाग, यदि मौजूद हो।
अपवाद-हैंडलिंग अनुभाग
अपवाद अपरिहार्य त्रुटियाँ हैं जो रन-टाइम पर घटित होती हैं, और उन्हें संभालने के लिए Oracle यह ब्लॉक में अपवाद-हैंडलिंग अनुभाग प्रदान करता है। इस अनुभाग में PL/SQL कथन भी हो सकते हैं, और यह वैकल्पिक है।
- यह वह अनुभाग है जहां निष्पादन ब्लॉक में उत्पन्न अपवाद को संभाला जाता है।
- यह PL/SQL ब्लॉक का अंतिम भाग है।
- इस अनुभाग से नियंत्रण कभी भी निष्पादन ब्लॉक पर वापस नहीं आ सकता।
- यह 'EXCEPTION' कीवर्ड से शुरू होता है।
- इसके बाद हमेशा 'END' कीवर्ड का प्रयोग होना चाहिए।
'END' कीवर्ड PL/SQL ब्लॉक के अंत को दर्शाता है।
PL/SQL ब्लॉक सिंटैक्स
नीचे PL/SQL ब्लॉक संरचना का सिंटैक्स दिया गया है।
DECLARE --optional <declarations> BEGIN --mandatory <executable statements. At least one executable statement is mandatory> EXCEPTION --optional <exception handles> END; --mandatory /
नोट: ब्लॉक के बाद हमेशा '/' होना चाहिए, जो कंपाइलर को ब्लॉक के अंत के बारे में जानकारी भेजता है।
PL/SQL ब्लॉक के प्रकार
PL/SQL ब्लॉक मुख्य रूप से दो प्रकार के होते हैं:
- अनाम ब्लॉक
- नामित ब्लॉक
नीचे दोनों की संक्षिप्त तुलना की गई है, उसके बाद प्रत्येक का वर्णन किया गया है।
| पहलू | अनाम ब्लॉक | नामित ब्लॉक |
|---|---|---|
| इसका एक नाम है | नहीं | हाँ |
| डेटाबेस में संग्रहीत | नहीं | हाँ, एक वस्तु के रूप में |
| इसके साथ आरंभ होता है | घोषणा करें या प्रारंभ करें | बनाएँ |
| पुन: प्रयोज्य | केवल एक ही सत्र में | किसी भी समय कॉल किया जा सकता है |
अनाम ब्लॉक
अनाम ब्लॉक वे PL/SQL ब्लॉक होते हैं जिनका कोई नाम नहीं होता। इन्हें एक ही सत्र में बनाना और उपयोग करना आवश्यक है क्योंकि ये सर्वर पर डेटाबेस ऑब्जेक्ट के रूप में संग्रहीत नहीं होते हैं।
क्योंकि इन्हें डेटाबेस में संग्रहित नहीं किया जाता, इसलिए इन्हें अलग से संकलन की आवश्यकता नहीं होती। इन्हें सीधे लिखा और निष्पादित किया जाता है, और संकलन और निष्पादन एक ही प्रक्रिया में होते हैं। कुछ अन्य विशेषताएं:
- इन ब्लॉकों का कोई संदर्भ नाम नहीं है।
- वे 'DECLARE' या 'BEGIN' कीवर्ड से शुरू होते हैं।
- क्योंकि उनका कोई संदर्भ नाम नहीं होता, इसलिए उन्हें बाद में उपयोग के लिए संग्रहीत नहीं किया जा सकता है और उन्हें उसी सत्र में बनाया और निष्पादित किया जाना चाहिए।
- वे अन्य नामित ब्लॉकों को कॉल कर सकते हैं, लेकिन एक अनाम ब्लॉक को कॉल करना संभव नहीं है, क्योंकि इसका कोई संदर्भ नहीं है।
- इनमें नाम सहित या अनाम नेस्टेड ब्लॉक हो सकते हैं, और ये किसी भी ब्लॉक के अंदर नेस्टेड भी हो सकते हैं।
- इनमें तीनों खंड हो सकते हैं, जिनमें से निष्पादन खंड अनिवार्य है और अन्य दो वैकल्पिक हैं।
नामित ब्लॉक
नाम वाले ब्लॉक का एक विशिष्ट और अद्वितीय नाम होता है। इन्हें सर्वर पर डेटाबेस ऑब्जेक्ट के रूप में संग्रहीत किया जाता है, इसलिए जब तक ये मौजूद रहते हैं, तब तक इन्हें संदर्भित या उपयोग किया जा सकता है। नाम वाले ब्लॉक के लिए संकलन प्रक्रिया डेटाबेस ऑब्जेक्ट के रूप में उनके निर्माण के समय अलग से होती है। कुछ अन्य विशेषताएं:
- इन ब्लॉकों को अन्य ब्लॉकों से बुलाया जा सकता है।
- ब्लॉक संरचना अनाम ब्लॉक के समान ही होती है, सिवाय इसके कि यह कभी भी 'DECLARE' से शुरू नहीं होती। इसके बजाय, यह 'CREATE' से शुरू होती है, जो कंपाइलर को इसे डेटाबेस ऑब्जेक्ट के रूप में बनाने का निर्देश देती है।
- ये ब्लॉक अन्य ब्लॉकों के भीतर समाहित हो सकते हैं और इनमें भी समाहित ब्लॉक हो सकते हैं।
- नामित ब्लॉक मूलतः दो प्रकार के होते हैं:
- प्रक्रिया
- समारोह
आप इन नामित ब्लॉकों के बारे में गाइड में और अधिक जान सकते हैं। प्रक्रियाएं और कार्य.


