Database
 sql >> डेटाबेस >  >> RDS >> Database

पीएल/एसक्यूएल ट्यूटोरियल:पीएल/एसक्यूएल के बारे में वह सब कुछ जो आपको जानना आवश्यक है

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

  • पीएल/एसक्यूएल क्या है?
    • विशेषताएं
    • पीएल/एसक्यूएल बनाम एसक्यूएल
  • पीएल/एसक्यूएल में ब्लॉक संरचनाएं
  • पीएल/एसक्यूएल वैरिएबल
  • पीएल/एसक्यूएल में कार्य करें
  • पीएल/एसक्यूएल प्रक्रिया
  • नेस्टेड ब्लॉक
  • आईएफ स्टेटमेंट
  • केस स्टेटमेंट
  • लूप स्टेटमेंट
    • लूप स्टेटमेंट के दौरान
    • लूप स्टेटमेंट के लिए
  • असाधारण हैंडलिंग

पीएल/एसक्यूएल क्या है?

यह संरचित क्वेरी भाषा के लिए प्रक्रियात्मक भाषा विस्तार के लिए है। Oracle ने PL/SQL बनाया जो oracle डेटाबेस पर चल रहे मिशन-महत्वपूर्ण अनुप्रयोगों के निर्माण के लिए अधिक व्यापक समाधान प्रदान करने के लिए SQL की कुछ सीमाओं का विस्तार करता है।

सुविधाएं

  • PL/SQL एक प्रक्रियात्मक भाषा की कार्यक्षमता प्रदान करता है जैसे निर्णय लेना, पुनरावृत्ति, आदि।

  • एक कमांड का उपयोग करके, PL/SQL कई प्रश्नों को निष्पादित कर सकता है।

  • हम PL/SQL इकाइयों का पुन:उपयोग भी कर सकते हैं जैसे कि फ़ंक्शंस, ट्रिगर्स, प्रक्रियाएं, आदि जो निर्माण के बाद डेटाबेस में संग्रहीत हैं।

  • PL/SQL में एक अपवाद हैंडलिंग ब्लॉक भी है जो PL/SQL में अपवादों को संभालता है।

  • PL/SQL का उपयोग करके व्यापक त्रुटि जांच भी संभव है

  • PL/SQL में लिखे गए एप्लिकेशन अन्य हार्डवेयर और ऑपरेटिंग सिस्टम के लिए पोर्टेबल हैं बशर्ते कि oracle चालू होना चाहिए।

PL/SQL बनाम SQL

SQL PL/SQL
SQL एक एकल क्वेरी है जिसका उपयोग DDL और DML संचालन करने के लिए किया जाता है PL/SQL कोड का एक ब्लॉक है जो एक संपूर्ण प्रोग्राम या प्रक्रिया/फ़ंक्शन, आदि को परिभाषित करने के लिए उपयोग किया जाता है
यह वास्तव में परिभाषित नहीं करता है कि चीजों को कैसे करना है, बल्कि यह परिभाषित करता है कि क्या करने की आवश्यकता है पीएल/एसक्यूएल परिभाषित करता है कि चीजों को कैसे किया जाना चाहिए
यह एक ही कथन निष्पादित करता है यह एक ही बार में बयानों के एक ब्लॉक को निष्पादित करता है।
SQL मुख्य रूप से डेटा में हेरफेर करने के लिए प्रयोग किया जाता है दूसरी ओर, PL/SQL का उपयोग एप्लिकेशन बनाने के लिए किया जाता है
इसमें PL/SQL कोड नहीं हो सकता चूंकि यह एक SQL एक्सटेंशन है, इसमें SQL कोड हो सकता है

PL/SQL में ब्लॉक स्ट्रक्चर्स

PL/SQL आमतौर पर कोड को ब्लॉक में व्यवस्थित करता है। बिना नाम वाले कोड ब्लॉक को अनाम ब्लॉक के रूप में जाना जाता है। इसे अनाम ब्लॉक के रूप में जाना जाता है क्योंकि यह oracle डेटाबेस में सहेजा नहीं जाता है। आइए हम PL/SQL में एक अनाम ब्लॉक पर एक नज़र डालें।

[DECLARE] डिक्लेरेशन स्टेटमेंट्स;[BEGIN] एक्ज़ीक्यूशन स्टेटमेंट्स; [अपवाद] अपवाद कथन;END;/

ऊपर दिखाए गए आरेख को देखकर, हम देख सकते हैं कि ब्लॉक संरचना चार भागों में विभाजित है, अर्थात घोषणा, प्रारंभ, अपवाद और अंत। आइए समझने की कोशिश करते हैं कि पीएल/एसक्यूएल में ब्लॉक संरचना कैसे काम करती है। इन सभी अनुभागों में से, निष्पादन अनुभाग अनिवार्य है और शेष सभी वैकल्पिक हैं।

  • DECLARE घोषणा खंड के लिए कीवर्ड का उपयोग डेटा प्रकारों और संरचनाओं जैसे कि चर, कार्यों, आदि को घोषित करने के लिए किया जाता है।

  • BEGIN कीवर्ड का उपयोग निष्पादन अनुभाग के लिए किया जाता है। यह अनिवार्य है और इसमें वे सभी कथन शामिल हैं जिन्हें निष्पादित करने की आवश्यकता है। यह ब्लॉक वह जगह है जहां व्यापार तर्क परिभाषित किया गया है, हम इस ब्लॉक में प्रक्रियात्मक या SQL दोनों कथनों का उपयोग कर सकते हैं।

  • अपवाद कीवर्ड का उपयोग अपवाद अनुभाग के लिए किया जाता है। इसमें सभी अपवाद कथन शामिल हैं।

  • END कीवर्ड ब्लॉक के अंत को चिह्नित करता है और बैकवर्ड स्लैश '/' उस टूल को बताता है जिसका उपयोग आप पीएल/एसक्यूएल ब्लॉक को निष्पादित करने के लिए (ओरेकल डेटाबेस टूल) कर रहे हैं।

हम पीएल/एसक्यूएल कोड का उपयोग कैसे कर सकते हैं, यह दिखाने के लिए यहां एक सरल उदाहरण दिया गया है।

BEGIN NULL;END;/

अब जब हम जानते हैं कि PL/SQL में ब्लॉक संरचना कैसे काम करती है, तो आइए हम PL/SQL के विभिन्न पहलुओं को समझते हैं जैसे कि वेरिएबल को घोषित करना, नाम देना और मान निर्दिष्ट करना।

PL/SQL चर

PL/SQL में वेरिएबल मूल रूप से एक नाम है जो बदलता रहता है या अस्थायी स्टोरेज लोकेशन है जो किसी विशेष डेटा प्रकार का समर्थन करता है। आइए देखें कि हम PL/SQL प्रोग्राम में वेरिएबल्स का उपयोग कैसे कर सकते हैं।

परिवर्तनीय नामकरण नियम

PL/SQL चरों के नामकरण के लिए निम्नलिखित नियमों का पालन करता है।

  • वेरिएबल 31 वर्णों से अधिक नहीं हो सकता

  • वेरिएबल का नाम ASCII कैरेक्टर से शुरू होना चाहिए। चूंकि PL/SQL केस-संवेदी है, इसलिए एक बड़ा अक्षर और एक छोटा अक्षर अलग-अलग चर होंगे।

  • पहले अक्षर के बाद, एक विशेष वर्ण($,_ ) या कोई संख्या होनी चाहिए।

नामकरण परंपराएं

चरों का उपयोग करने के लिए नीचे सूचीबद्ध निम्नलिखित नामकरण परंपराओं का उपयोग करें।

उपसर्ग डेटा प्रकार
v_ VARCHAR2
n_ NUMBER
t_ तालिका
r_ पंक्ति
d_ दिनांक
b_ बूलियन

घोषणा

आइए समझने की कोशिश करें कि PL/SQL में परिवर्तनशील घोषणा कैसे की जाती है

घोषणा में डेटा प्रकार के बाद चर नाम और अर्धविराम द्वारा अलग किया गया है। यह दिखाने के लिए एक उदाहरण निम्नलिखित है कि आप PL/SQL में एक वेरिएबल कैसे घोषित कर सकते हैं।

DECLARE v_name VARCHAR(25); n_age NUMBER(3);BEGIN NULL;END;

जैसा कि हमने ऊपर के उदाहरण में किया है, आप डेटा प्रकार की लंबाई भी जोड़ सकते हैं।

एंकर

एंकर मूल रूप से %TYPE कीवर्ड के उपयोग को संदर्भित करता है जो किसी तालिका में किसी विशेष कॉलम के कॉलम के डेटा प्रकार से जुड़े डेटा प्रकार के साथ एक चर घोषित करने के लिए होता है।

इसे समझने के लिए एक उदाहरण पर गौर करें। मान लीजिए कि हमारे पास कर्मचारियों की एक तालिका है, हम एंकरों का उपयोग निम्न तरीके से कर सकते हैं।

DECLARE v_name EMPLOYEE.NAME%TYPE; n_age EMPLOYEE.AGE%TYPE;BEGIN NULL;END;/

असाइनमेंट

वेरिएबल असाइनमेंट काफी आसान है, हम एक वेरिएबल को वैल्यू असाइन करने के लिए असाइनमेंट ऑपरेटर का उपयोग कर सकते हैं। निम्न उदाहरण दिखाता है कि हम एक चर के लिए मान कैसे निर्दिष्ट कर सकते हैं।

DECLARE v_name VARCHAR(20); n_course VARCHAR(10);BEGIN v_name ="edureka"; v_course ="एसक्यूएल";END;/

आरंभीकरण

हम डिक्लेरेशन सेक्शन में भी वैरिएबल के लिए एक वैल्यू इनिशियलाइज़ कर सकते हैं। निम्न उदाहरण दिखाता है कि हम एक चर के लिए मूल्यों को कैसे प्रारंभ कर सकते हैं।

DECLAREv_name VARCHAR(20) ="edureka";n_course VARCHAR(10) ="sql";BEGIN NULL;END;/

अब जब हम जानते हैं कि हम वेरिएबल्स के साथ कैसे काम कर सकते हैं, तो आइए यह समझने की कोशिश करें कि हम PL/SQL में फंक्शन्स का उपयोग कैसे करेंगे।

PL/SQL में कार्य करें

PL/SQL में एक फ़ंक्शन मूल रूप से एक नामित ब्लॉक होता है जो एक मान देता है। इसे सबरूटीन या सबप्रोग्राम के रूप में भी जाना जाता है, निम्नलिखित सिंटैक्स दिखाता है कि हम PL/SQL में फ़ंक्शंस का उपयोग कैसे कर सकते हैं।

बनाएं [या बदलें] FUNCTION function_name [(पैरामीटर_1 [IN] [आउट] data_type, पैरामीटर_2 [IN] [OUT] data_type, पैरामीटर_N [IN] [OUT] data_type] RETURN return_data_type IS BEGIN स्टेटमेंट रिटर्न रिटर्न_डेटा_टाइप; अपवाद END; // पूर्व> 

सबसे पहले, आपको कीवर्ड के बाद एक फ़ंक्शन नाम निर्दिष्ट करना होगा। फ़ंक्शन का नाम क्रिया से शुरू होना चाहिए। किसी फ़ंक्शन में कोई नहीं, एक या अधिक पैरामीटर हो सकते हैं जिन्हें हम पैरामीटर में निर्दिष्ट करते हैं। हमें प्रत्येक पैरामीटर के डेटा प्रकार को स्पष्ट रूप से निर्दिष्ट करना होगा, और फिर वह मोड आता है जो निम्न में से कोई भी हो सकता है।

  • IN – IN पैरामीटर केवल-पढ़ने के लिए पैरामीटर है।

  • OUT – यह केवल लिखने के लिए पैरामीटर है

  • IN OUT - IN OUT पैरामीटर रीड-राइट पैरामीटर दोनों है।

यह दिखाने के लिए कि हम PL/SQL में फ़ंक्शंस का उपयोग कैसे करते हैं, यहाँ एक सरल उदाहरण दिया गया है।

फ़ंक्शन बनाएं या बदलें try_parse(iv_number IN VARCHAR2) रिटर्न नंबर ISBEGIN रिटर्न टू_नंबर (iv_number); अपवाद जब अन्य तब वापस लौटते हैं;END;

एक फ़ंक्शन को कॉल करना

आइए हम निम्नलिखित उदाहरण में अज्ञात ब्लॉक में किए गए फ़ंक्शन को कॉल करने का प्रयास करें।

SERVEROUTPUT को SIZE 1000000 पर सेट करें; n_x संख्या घोषित करें; n_y संख्या; n_z संख्या; BEGIN n_x:=try_parse ('256'); n_y:=try_parse ('29.72'); n_z:=try_parse ('पीक्यूआरएस'); DBMS_OUTPUT.PUT_LINE(n_x); DBMS_OUTPUT.PUT_LINE(n_y); DBMS_OUTPUT.PUT_LINE(n_z);END;/

हम फंक्शन को सेलेक्ट स्टेटमेंट में भी कॉल कर सकते हैं। अब जब हम जानते हैं कि हम PL/SQL में फ़ंक्शन का उपयोग कैसे कर सकते हैं, तो आइए यह समझने की कोशिश करें कि हम PL/SQL में प्रक्रियाओं के साथ कैसे काम करते हैं।

पीएल/एसक्यूएल प्रक्रिया

एक प्रक्रिया मूल रूप से एक ब्लॉक है जो एक विशिष्ट कार्य करता है। एक प्रक्रिया का उपयोग करके हम जटिल व्यावसायिक तर्क को लपेट या समाहित कर सकते हैं और उन्हें एप्लिकेशन और डेटाबेस परत दोनों में पुन:उपयोग कर सकते हैं।

आइए हम एक सरल उदाहरण पर एक नज़र डालते हैं कि यह समझने के लिए कि PL/SQL में प्रक्रिया कैसे काम करती है

प्रक्रिया बनाएं या बदलें समायोजन_वेतन (कर्मचारियों में in_employee_id.EMPLOYEE_ID% TYPE, NUMBER में_प्रतिशत) ISBEGIN -- कर्मचारी का वेतन अपडेट करें कर्मचारियों का वेतन अपडेट करें कर्मचारियों को सेट करें वेतन =वेतन + वेतन * in_percent / 100 जहां कर्मचारी_आईडी =in_employee> 

उपरोक्त उदाहरण में, हमारे पास दो पैरामीटर हैं, प्रक्रिया वेतन को दिए गए प्रतिशत से समायोजित करती है और UPDATE कीवर्ड वेतन जानकारी में मान को अपडेट करता है।

प्रक्रिया शीर्षलेख

कीवर्ड IS से पहले के सेक्शन को प्रोसेस हेडर कहा जाता है। प्रक्रियाओं के साथ काम करते समय निम्नलिखित कुछ संकेत हैं जिनसे किसी को परिचित होना चाहिए।

  • स्कीमा - यह उस स्कीमा का वैकल्पिक नाम है जिससे प्रक्रिया संबंधित है।

  • नाम - प्रक्रिया का नाम जो क्रिया से शुरू होना चाहिए।

  • पैरामीटर - यह मापदंडों की वैकल्पिक सूची है।

  • AUTHID - यह निर्धारित करता है कि प्रक्रिया वर्तमान उपयोगकर्ता या प्रक्रिया के मूल स्वामी के विशेषाधिकार के साथ निष्पादित होगी या नहीं।

प्रक्रिया निकाय

IS कीवर्ड के बाद आने वाली हर चीज को प्रोसीजर बॉडी कहा जाता है। हमारे पास प्रक्रिया निकाय में घोषणा, अपवाद और निष्पादन विवरण हैं। फ़ंक्शन के विपरीत, एक प्रक्रिया में रिटर्न कीवर्ड का उपयोग निष्पादन को रोकने और कॉल करने वाले को नियंत्रण वापस करने के लिए किया जाता है।

कॉलिंग ए प्रोसीजर

आइए देखें कि हम PL/SQL में किसी प्रक्रिया को कैसे कॉल कर सकते हैं।

 EXEC प्रक्रिया_नाम (परम1,परम2…परमएन);

हम केवल EXEC कीवर्ड और प्रक्रिया नाम का उपयोग करके बिना किसी पैरामीटर के प्रक्रियाओं को कॉल कर सकते हैं। अब जब हम जानते हैं कि हम प्रक्रियाओं के साथ कैसे काम कर सकते हैं, तो आइए यह समझने की कोशिश करें कि पीएल/एसक्यूएल में नेस्टेड ब्लॉकों का उपयोग कैसे किया जाता है।

नेस्टेड ब्लॉक

नेस्टेड ब्लॉक प्रोग्राम के निष्पादन और असाधारण हैंडलिंग पर बेहतर नियंत्रण पाने के लिए एक या अधिक PL/SQL ब्लॉकों के संयोजन के अलावा और कुछ नहीं है।

नेस्टेड ब्लॉक का एक सरल उदाहरण यहां दिया गया है।

SERVEROUTPUT ON SIZE 1000000;DECLARE n_emp_id EMPLOYEES.EMPLOYEE_ID%TYPE:=&emp_id1;BEGIN DECLARE n_emp_id Employees.employee_id%TYPE:=&emp_id2; v_name कर्मचारी.फर्स्ट_नाम%TYPE; कर्मचारियों से v_name में प्रथम_नाम चुनें जहां कर्मचारी_आईडी =n_emp_id; DBMS_OUTPUT.PUT_LINE('कर्मचारी का पहला नाम' || n_emp_id || ' is ' || v_name); अपवाद जब no_data_मिला तब DBMS_OUTPUT.PUT_LINE('कर्मचारी' || n_emp_id || 'नहीं मिला'); END;END;/

उपरोक्त उदाहरण में बाहरी PL/SQL ब्लॉक को पैरेंट ब्लॉक या एनक्लोजिंग ब्लॉक के रूप में जाना जाता है, दूसरी ओर, आंतरिक ब्लॉक को चाइल्ड ब्लॉक या के रूप में जाना जाता है। संलग्न ब्लॉक।

दोनों ब्लॉकों में समान नाम वाले वेरिएबल का उपयोग करना एक अच्छा विचार नहीं है क्योंकि निष्पादन के दौरान चाइल्ड ब्लॉक वेरिएबल पैरेंट ब्लॉक वेरिएबल को ओवरराइड कर देगा। ऐसा इसलिए होता है क्योंकि पीएल/एसक्यूएल अपने ब्लॉक के अंदर वेरिएबल को पहली प्राथमिकता देता है।

ब्लॉक लेबल

हम इस समस्या को ब्लॉक लेबल से दूर कर सकते हैं जो हमें एक लेबल का उपयोग करके ब्लॉक के अंदर चर के संदर्भ बनाने में मदद करता है।

हम एक ब्लॉक लेबल का उपयोग कैसे कर सकते हैं, यह दिखाने के लिए यहां एक सरल उदाहरण दिया गया है।

<>DECLARE...BEGIN...END;

ब्लॉक लेबल का उपयोग करने से कोड की पठनीयता में सुधार करने, बेहतर नियंत्रण प्राप्त करने और ब्लॉकों के संदर्भ बनाने में मदद मिलती है। अब जब हम जानते हैं कि हम नेस्टेड ब्लॉक के साथ कैसे काम कर सकते हैं, तो आइए यह समझने की कोशिश करें कि IF STATEMENT PL/SQL में कैसे काम करता है।

आईएफ स्टेटमेंट

PL/SQL में तीन IF STATEMENTS होते हैं

  • अगर-तब - यह सबसे सरल IF STATEMENT है यदि कंडीशन सही है तो स्टेटमेंट निष्पादित होगा, यदि कंडीशन गलत है, तो यह कुछ नहीं करता है।

  • IF-THEN-ELSE - इसमें बयानों के वैकल्पिक क्रम के लिए ELSE क्लॉज जोड़ा जाता है।

  • IF-THEN-ELSEIF - यह हमें एक क्रम में कई परीक्षण स्थितियों को निष्पादित करने की अनुमति देता है।

अगर-तब सिंटेक्स

अगर शर्त तब क्रम_ऑफ_स्टेटमेंट्स;END IF;

IF-THEN-ELSE सिंटैक्स

यदि शर्त तब अनुक्रम_ऑफ_आईएफ_स्टेटमेंट्स;ईएलएसई सीक्वेंस_ऑफ_एल्स_स्टेटमेंट्स;END IF;

IF-THEN-ELSEIF सिंटैक्स

आईएफ कंडीशन1 फिर सीक्वेंस_ऑफ_स्टेटमेंट्स1ईएलएसआईएफ कंडीशन2 फिर सिक्वेंस_ऑफ_स्टेटमेंट्स2ईएलएसई सीक्वेंस_ऑफ_स्टेटमेंट्स3END आईएफ;

अब जब हम IF STATEMENT के साथ कर चुके हैं तो आइए हम PL/SQL में CASE स्टेटमेंट देखें।

केस स्टेटमेंट

CASE स्टेटमेंट मूल रूप से एक चयनकर्ता के आधार पर कथनों के अनुक्रम को निष्पादित करने में मदद करता है। एक चयनकर्ता, इस मामले में, कुछ भी हो सकता है, यह एक चर, कार्य या एक साधारण अभिव्यक्ति हो सकता है। पीएल/एसक्यूएल में केस स्टेटमेंट के सिंटैक्स को दिखाने के लिए यहां एक सरल उदाहरण दिया गया है।

[<<लेबल_नाम>>]मामला [सत्य | चयनकर्ता] जब अभिव्यक्ति1 तब अनुक्रम_ऑफ_स्टेटमेंट1; जब व्यंजक2 तब अनुक्रम_ऑफ_कथन2; ... जब अभिव्यक्तिN तब अनुक्रम_ऑफ_कथनN; [ELSE सीक्वेंस_ऑफ_स्टेटमेंट्सएन+1;]END केस [लेबल_नाम];

उपरोक्त सिंटैक्स में, CASE कीवर्ड के बाद सेलेक्टर आता है। PL/SQL केवल एक बार चयनकर्ता का मूल्यांकन करेगा यह निर्धारित करने के लिए कि किस कथन को निष्पादित करने की आवश्यकता है।

चयनकर्ता द्वारा अनुसरण किया जाता है WHEN कीवर्ड। यदि व्यंजक चयनकर्ता को संतुष्ट करता है तो THEN कीवर्ड के निष्पादित होने के बाद संबंधित कथन।

अब जब हम जानते हैं कि हम CASE स्टेटमेंट का उपयोग कैसे कर सकते हैं, तो आइए यह समझने की कोशिश करें कि हम PL/SQL में लूप स्टेटमेंट का उपयोग कैसे करेंगे।

लूप स्टेटमेंट

PL/SQL में एक लूप स्टेटमेंट एक पुनरावृत्त स्टेटमेंट है जो आपको कई बार स्टेटमेंट्स के अनुक्रम को निष्पादित करने की अनुमति देता है। पीएल/एसक्यूएल में लूप स्टेटमेंट के सिंटैक्स को दिखाने के लिए यहां एक सरल उदाहरण दिया गया है।

लूप सीक्वेंस_ऑफ़_स्टेटमेंट्स;END लूप;

LOOP और END LOOP कीवर्ड के बीच में कम से कम एक एक्ज़ीक्यूटेबल स्टेटमेंट होना चाहिए।

एक्ज़िट स्टेटमेंट के साथ लूप

EXIT और EXIT जब स्टेटमेंट आपको लूप से बाहर निकलने की अनुमति देते हैं। EXIT जब स्टेटमेंट लूप को सशर्त रूप से समाप्त करता है जबकि EXIT बिना शर्त निष्पादन को समाप्त करता है।

लूप... स्थिति से बाहर निकलें;लूप खत्म करें;

लूप लेबल

एक लूप लेबल का उपयोग लूप काउंटर वेरिएबल के नाम को क्वालिफाई करने के लिए किया जाता है जब एक नेस्टेड लूप में उपयोग किया जाता है। लूप लेबल का सिंटैक्स निम्नलिखित है।

<

अब जब हम जानते हैं कि हम लूप स्टेटमेंट का उपयोग कैसे कर सकते हैं तो आइए हम लूप स्टेटमेंट को बेहतर ढंग से समझने के लिए एक नज़र डालते हैं।

लूप स्टेटमेंट के दौरान

हम WHILE लूप स्टेटमेंट का उपयोग कर सकते हैं जब निष्पादन शुरू होने तक निष्पादन की संख्या परिभाषित नहीं की जाती है। PL/SQL में WHILE लूप स्टेटमेंट के लिए निम्न सिंटैक्स का उपयोग किया जाता है।

जबकि स्थितिLOOP अनुक्रम_of_statements;END LOOP;

वाक्यविन्यास में स्थिति एक बूलियन मान या अभिव्यक्ति है जो TRUE, FALSE या NULL होने का मूल्यांकन करती है। यदि शर्त TRUE है, तो कथनों को निष्पादित किया जाएगा, यदि यह FALSE है, तो निष्पादन रुक जाता है और नियंत्रण अगले निष्पादन योग्य कथन पर चला जाता है।

अब जब हम जानते हैं कि हम WHILE लूप स्टेटमेंट का उपयोग कैसे कर सकते हैं, तो आइए FOR लूप स्टेटमेंट पर एक नज़र डालते हैं।

लूप स्टेटमेंट के लिए

PL/SQL में एक फॉर लूप स्टेटमेंट हमें निश्चित समय के लिए स्टेटमेंट्स के अनुक्रम को निष्पादित करने की अनुमति देता है। पीएल/एसक्यूएल में फॉर लूप स्टेटमेंट का उपयोग करने के लिए सिंटैक्स निम्नलिखित है

फॉर लूप_काउंटर इन [रिवर्स] लोअर_बाउंड .. हायर_बाउंडLOOP सीक्वेंस_ऑफ_स्टेटमेंट्स;END LOOP;

PL/SQL लूप के लिए एक INTEGER डेटा प्रकार के साथ स्वचालित रूप से एक स्थानीय चर लूप_काउंटर बनाता है ताकि आपको इसे स्पष्ट रूप से घोषित करने की आवश्यकता न हो। निचलाबाउंड..उच्चतर वह सीमा है जिस पर लूप पुनरावृत्त होता है। साथ ही, आपके पास LOOP और END LOOP कीवर्ड के बीच कम से कम एक निष्पादन योग्य कथन होना चाहिए।

अब जब हम जानते हैं कि हम PL/SQL में लूप स्टेटमेंट का उपयोग कैसे कर सकते हैं, आइए हम PL/SQL में असाधारण हैंडलिंग पर एक नज़र डालें।

असाधारण हैंडलिंग

PL/SQL में किसी भी प्रकार की त्रुटि को अपवाद माना जाता है। एक अपवाद को एक विशेष स्थिति के रूप में माना जा सकता है जो निष्पादन प्रवाह को बदल या बदल सकता है। PL/SQL में दो प्रकार के अपवाद होते हैं।

  • सिस्टम अपवाद - इसे पीएल/एसक्यूएल रन-टाइम द्वारा उठाया जाता है जब यह एक त्रुटि का पता लगाता है।

  • प्रोग्रामर-परिभाषित अपवाद - इन अपवादों को प्रोग्रामर द्वारा एक विशिष्ट एप्लिकेशन में परिभाषित किया जाता है।

अपवाद को परिभाषित करना

पीएल/एसक्यूएल में एक अपवाद को उठाने से पहले उसे घोषित किया जाना चाहिए। हम अपवाद कीवर्ड का उपयोग करके अपवाद को परिभाषित कर सकते हैं जैसे हमने नीचे दिए गए उदाहरण में किया है।

EXCEPTION_NAME EXCEPTION;

अपवाद बढ़ाने के लिए, हम RAISE कीवर्ड का उपयोग करते हैं।

RAISE EXCEPTION_NAME;

तो यह सब PL/SQL के बारे में था, मुझे आशा है कि इस लेख ने आपको अपने ज्ञान में मूल्य जोड़ने में मदद की है। SQL या डेटाबेस के बारे में अधिक जानकारी के लिए, आप हमारी व्यापक पठन सूची यहाँ देख सकते हैं:डेटाबेस एडुरेका

यदि आप MySQL पर एक संरचित प्रशिक्षण प्राप्त करना चाहते हैं, तो हमारा MySQL DBA प्रमाणन प्रशिक्षण देखें। जो प्रशिक्षक के नेतृत्व वाले लाइव प्रशिक्षण और वास्तविक जीवन परियोजना अनुभव के साथ आता है। यह प्रशिक्षण आपको MySQL को गहराई से समझने और विषय पर महारत हासिल करने में मदद करेगा।

हमारे लिए एक प्रश्न है? कृपया इसका उल्लेख "PL/SQL ट्यूटोरियल . के टिप्पणी अनुभाग में करें ” और मैं आपके पास वापस आऊंगा।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस में PII को वर्गीकृत, ढूँढें और मास्क कैसे करें…

  2. बेवर्ली हिल्स 90210 और ज़िप+4:डेटा मॉडल में पते को संभालना

  3. समानांतर योजनाएँ कैसे शुरू होती हैं - भाग 1

  4. SQLCMD का उपयोग करके SQL डेटाबेस रखरखाव कार्य चलाना

  5. Salesforce.com लिंक्ड सर्वर और sp_columns_ex