Get the most accurate RBSE Solutions for Class 12 Computer Science Chapter 15 PLSQL के आधार बिन्दु here. Updated for the 2026-27 academic session, these solutions are based on the latest RBSE textbooks for Class 12 Computer Science. Our expert-created answers for Class 12 Computer Science are available for free download in PDF format.
Detailed Chapter 15 PLSQL के आधार बिन्दु RBSE Solutions for Class 12 Computer Science
For Class 12 students, solving RBSE textbook questions is the most effective way to build a strong conceptual foundation. Our Class 12 Computer Science solutions follow a detailed, step-by-step approach to ensure you understand the logic behind every answer. Practicing these Chapter 15 PLSQL के आधार बिन्दु solutions will improve your exam performance.
Class 12 Computer Science Chapter 15 PLSQL के आधार बिन्दु RBSE Solutions PDF
Rajasthan Board RBSE Class 12 Computer Science Chapter 15 PL/SQL के आधार बिन्दु
RBSE Class 12 Computer Science Chapter 15 पाठ्यपुस्तक के प्रश्न
RBSE Class 12 Computer Science Chapter 15 वस्तुनिष्ठ प्रश्न
Question 1. जो एक PL/SQL का हिस्सा नहीं है
(a) Declare
(b) BEGIN
(c) Start
(d) End
Answer: (c) Start
In simple words: PL/SQL में कई भाग होते हैं जैसे Declare, BEGIN, और End। लेकिन 'Start' PL/SQL का कोई हिस्सा नहीं होता है।
🎯 Exam Tip: PL/SQL ब्लॉक के मुख्य भागों को याद रखें: Declaration (घोषणा), Execution (कार्यान्वयन), और Exception Handling (अपवाद संचालन).
Question 3. शब्द का चयन करें जो Select कथन के साथ उपयोग किया जाना चाहिए
(a) Goto
(b) Into
(c) Do
(d) All of the options
Answer: (b) Into
In simple words: SELECT कमांड का उपयोग करते समय, 'INTO' शब्द का इस्तेमाल डेटा को एक वेरिएबल में डालने के लिए किया जाता है।
🎯 Exam Tip: SELECT-INTO स्टेटमेंट का उपयोग अक्सर तब किया जाता है जब आप किसी क्वेरी से केवल एक ही पंक्ति का डेटा प्राप्त करना चाहते हैं.
Question 4. कर्सर कितने प्रकार के हैं?
(a) 2
(b) 4
(c) 5
(d) 1
Answer: (a) 2
In simple words: कर्सर दो तरह के होते हैं: Implicit (अंतर्निहित) और Explicit (बाह्यनिहित).
🎯 Exam Tip: Implicit कर्सर PL/SQL द्वारा अपने आप बनाए जाते हैं, जबकि Explicit कर्सर हमें खुद बनाने पड़ते हैं.
Question 5. % FOUND का काम विपरीत है
(a) % CURSOR
(b) % NOT COUNT
(c) % NOT FOUND
(d) % FOUND COUNT
Answer: (c) % NOT FOUND
In simple words: %FOUND यह जांचता है कि कोई रिकॉर्ड मिला है या नहीं, और %NOTFOUND इसका उल्टा करता है, यह जांचता है कि कोई रिकॉर्ड नहीं मिला है.
🎯 Exam Tip: कर्सर एट्रीब्यूट्स जैसे %FOUND, %NOTFOUND, %ROWCOUNT और %ISOPEN का उपयोग डेटाबेस ऑपरेशंस के बाद स्थिति की जांच करने के लिए किया जाता है.
RBSE Class 12 Computer Science Chapter 15 अतिलघु उत्तरीय प्रश्न
Question 1. PL/SQL क्या है?
Answer: PL/SQL का पूरा नाम प्रोसीजरल लैंग्वेज/स्ट्रक्चर्ड क्वेरी लैंग्वेज (Procedural Language/Structured Query Language) है। यह SQL का एक विस्तार है जो प्रक्रियात्मक प्रोग्रामिंग क्षमताएं जोड़ता है। PL/SQL के मुख्य बिंदु SQL पर आधारित होते हैं और इसे ऑरेकल कंपनी ने बनाया है।
In simple words: PL/SQL एक प्रोग्रामिंग भाषा है जिसे ऑरेकल ने बनाया है। यह SQL कमांड्स के साथ मिलकर काम करती है और हमें ज्यादा जटिल काम करने की सुविधा देती है।
🎯 Exam Tip: PL/SQL की परिभाषा देते समय 'SQL का विस्तार' और 'प्रोसीजरल प्रोग्रामिंग' जैसे कीवर्ड्स का उपयोग करें.
Question 3. PL/SQL में Declare का उपयोग क्यों करते हैं?
Answer: PL/SQL में Declare भाग का उपयोग कॉन्स्टेंट (स्थिर मान), रिकॉर्ड (डेटा का संग्रह), वेरिएबल्स (बदलने वाले मान) और कर्सर (डेटाबेस पंक्तियों को प्रबंधित करने के लिए) को घोषित करने के लिए किया जाता है। यह किसी भी PL/SQL ब्लॉक का पहला और वैकल्पिक भाग होता है।
In simple words: Declare भाग में हम उन चीजों को परिभाषित करते हैं जिनका उपयोग हम अपने PL/SQL प्रोग्राम में करने वाले हैं, जैसे नाम, संख्याएं या कर्सर।
🎯 Exam Tip: 'Declare' की भूमिका बताते समय 'Variables', 'Constants', 'Cursors' जैसे शब्दों का उल्लेख करना महत्वपूर्ण है.
Question 4. PL/SQL में & का उपयोग क्या है?
Answer: PL/SQL में `&` (एम्परसेंड) सिंबल का उपयोग यूजर से किसी वेरिएबल के लिए इनपुट लेने के लिए होता है। इसे 'प्रतिस्थापन वेरिएबल' भी कहते हैं। जब प्रोग्राम चलता है, तो यह यूजर को `&` के साथ दिए गए वेरिएबल के लिए मान दर्ज करने का संकेत देता है।
In simple words: PL/SQL में `&` का उपयोग यूजर से जानकारी लेने के लिए किया जाता है, जैसे किसी वेरिएबल में कोई मान डालना।
🎯 Exam Tip: `&` वेरिएबल एक अस्थायी मान के लिए उपयोगी होते हैं जो प्रोग्राम के चलने के दौरान बदला जा सकता है.
Question 5. SQL में Variables कहाँ घोषित किए जाते है?
Answer: PL/SQL में वेरिएबल्स घोषणा (Declaration) भाग में घोषित किए जाते हैं। यह PL/SQL ब्लॉक का वह हिस्सा होता है जहाँ डेटाटाइप और प्रारंभिक मान के साथ वेरिएबल्स को परिभाषित किया जाता है, इससे पहले कि उनका उपयोग Execution भाग में किया जाए।
In simple words: SQL में, वेरिएबल्स को PL/SQL ब्लॉक के Declaration भाग में घोषित करते हैं।
🎯 Exam Tip: याद रखें कि किसी भी वेरिएबल का उपयोग करने से पहले उसे Declare भाग में घोषित करना अनिवार्य है.
Question 6. PL/SQL select कथन का प्रयोग कैसे किया जाता है?
Answer: PL/SQL में `SELECT` स्टेटमेंट का उपयोग डेटाबेस से डेटा प्राप्त करने के लिए किया जाता है। इसका सामान्य सिंटैक्स `SELECT Column name INTO variable name FROM table_name [where condition];` होता है। इसमें `INTO` क्लॉज का उपयोग करके प्राप्त डेटा को वेरिएबल में स्टोर किया जाता है।
In simple words: PL/SQL में `SELECT` कमांड का उपयोग डेटाबेस से जानकारी निकालने के लिए होता है, और उसे किसी वेरिएबल में 'INTO' शब्द का उपयोग करके डालते हैं।
🎯 Exam Tip: `SELECT-INTO` स्टेटमेंट केवल एक ही पंक्ति के लिए उपयोगी है। यदि क्वेरी कई पंक्तियाँ लौटाती है, तो Explicit Cursor का उपयोग करना चाहिए.
Question 7. Exception ब्लॉक का क्या उपयोग है?
Answer: PL/SQL ब्लॉक का Exception भाग वह हिस्सा है जो वैकल्पिक होता है। यह आरक्षित कीवर्ड `EXCEPTION` से शुरू होता है और इसका उपयोग प्रोग्राम में आने वाली त्रुटियों (जैसे डेटा नहीं मिलना या शून्य से भाग देना) को संभालने के लिए किया जाता है, ताकि प्रोग्राम अचानक बंद न हो।
In simple words: Exception ब्लॉक का उपयोग प्रोग्राम में आने वाली गलतियों को पकड़ने और ठीक करने के लिए होता है, ताकि प्रोग्राम बिना रुके चलता रहे।
🎯 Exam Tip: Exception handling यह सुनिश्चित करता है कि प्रोग्राम अप्रत्याशित त्रुटियों के कारण क्रैश न हो, जिससे इसकी मजबूती बढ़ती है.
Question 8. PL/SQL में Variable के प्रकार को बताइए।
Answer: PL/SQL में Variable एक स्टोरेज एरिया (क्षेत्र) को दिया गया नाम होता है, जिसे हमारा प्रोग्राम मैनिपुलेट (बदलता) करता है। PL/SQL में वेरिएबल्स के मुख्य प्रकारों में शामिल हैं: डेटाबेस कॉलम के डेटाटाइप वाले वेरिएबल्स, जैसे `VARCHAR2`, `NUMBER`, `DATE` आदि, और `Global Variables`। `Global Variables` वे वेरिएबल्स होते हैं जो आउटर ब्लॉक में घोषित किए जाते हैं और इनर तथा आउटर दोनों ब्लॉक द्वारा एक्सेस किए जा सकते हैं।
In simple words: वेरिएबल एक नाम है जो डेटा स्टोर करने के लिए जगह को दिया जाता है। PL/SQL में, हम विभिन्न प्रकार के वेरिएबल का उपयोग कर सकते हैं, जैसे टेक्स्ट, नंबर या तारीख स्टोर करने के लिए। ग्लोबल वेरिएबल किसी भी प्रोग्राम के हिस्से में इस्तेमाल किए जा सकते हैं।
🎯 Exam Tip: वेरिएबल का डेटाटाइप हमेशा उस डेटा के प्रकार से मेल खाना चाहिए जिसे वह स्टोर करेगा.
Question 9. ट्रिगर क्या है?
Answer: ट्रिगर PL/SQL की एक विशेष संरचना है जिसका उपयोग DML (डेटा मैनिपुलेशन लैंग्वेज) स्टेटमेंट जैसे `INSERT`, `DELETE`, `UPDATE` के डेटाबेस तालिका पर चलने के समय किया जाता है। यह स्वचालित रूप से तब काम करता है जब उपरोक्त DML स्टेटमेंट का निष्पादन होता है, यानी किसी टेबल में डेटा डाला जाता है, हटाया जाता है, या अपडेट किया जाता है।
In simple words: ट्रिगर एक खास तरह का PL/SQL कोड है जो डेटाबेस टेबल में कोई बदलाव (जैसे डेटा डालना या अपडेट करना) होने पर अपने आप चलता है।
🎯 Exam Tip: ट्रिगर का उपयोग डेटा अखंडता बनाए रखने, जटिल व्यावसायिक नियम लागू करने और ऑडिटिंग के लिए किया जाता है.
Question 10. ट्रिगर का उपयोग कैसे करते हैं?
Answer: ट्रिगर का उपयोग कई तरीकों से किया जाता है:
- ट्रिगर बनाने या बदलने के लिए `CREATE [OR REPLACE] TRIGGER name_of_trigger` क्लॉज का उपयोग होता है।
- `{BEFORE | AFTER | INSTEAD OF}` क्लॉज यह बताता है कि ट्रिगर किस समय चलना चाहिए। उदाहरण के लिए, टेबल के `UPDATE` से पहले या बाद में। `INSTEAD OF` का उपयोग `VIEW` पर ट्रिगर बनाने के लिए किया जाता है। `BEFORE` और `AFTER` का उपयोग `VIEW` पर ट्रिगर बनाने में नहीं किया जा सकता है।
- `{INSERT [OR] | UPDATE [OR] | DELETE}` क्लॉज ट्रिगर होने वाली घटना (इवेंट) को बताता है। एक से अधिक ट्रिगरिंग इवेंट्स को एक साथ होने पर उन्हें अलग करने के लिए `OR` कीवर्ड का उपयोग होता है। सभी ट्रिगरिंग इवेंट्स के दौरान ट्रिगर का उपयोग होता है।
In simple words: ट्रिगर का उपयोग डेटाबेस में कुछ खास घटनाओं के समय कोड चलाने के लिए होता है। इसे बनाने, चलाने का समय तय करने (पहले या बाद में), और किस घटना (डेटा डालना, बदलना, हटाना) पर चलाना है, यह सब बताना पड़ता है।
🎯 Exam Tip: ट्रिगर बनाते समय `BEFORE/AFTER` और `INSERT/UPDATE/DELETE` क्लॉज़ का सही चुनाव करना महत्वपूर्ण है, क्योंकि यह ट्रिगर के व्यवहार को नियंत्रित करता है.
RBSE Class 12 Computer Science Chapter 15 लघु उत्तरीय प्रश्न
Question 1. % TYPE गुण और % ROWTYPE गुण प्रकार के बीच क्या अन्तर है?
Answer: `%TYPE` और `%ROWTYPE` दोनों डेटा स्वतंत्रता (data independence) प्रदान करते हैं। वे प्रोग्राम को डेटाबेस स्कीमा में बदलाव होने पर भी काम करने की अनुमति देते हैं।
`%TYPE` गुण का उपयोग किसी वेरिएबल को उसी डेटाटाइप का घोषित करने में किया जाता है, जो किसी टेबल के कॉलम का होता है। यह सुनिश्चित करता है कि वेरिएबल का डेटाटाइप हमेशा कॉलम के डेटाटाइप के साथ सिंक्रनाइज़ रहे।
`%ROWTYPE` गुण का उपयोग एक रिकॉर्ड वेरिएबल को घोषित करने के लिए किया जाता है, जिसका डेटाटाइप एक टेबल की पूरी पंक्ति की संरचना (सभी कॉलम के साथ) जैसा होता है। यह एक साथ कई कॉलम के मानों को संभालने के लिए उपयोगी है।
In simple words: `%TYPE` किसी वेरिएबल को एक कॉलम के समान डेटाटाइप देता है, जबकि `%ROWTYPE` किसी वेरिएबल को पूरी टेबल की पंक्ति के समान डेटाटाइप देता है, जिसमें सभी कॉलम शामिल होते हैं।
🎯 Exam Tip: डेटा स्वतंत्रता (Data Independence) बनाए रखने के लिए `%TYPE` और `%ROWTYPE` का उपयोग करना सर्वोत्तम अभ्यास है, क्योंकि यह डेटाबेस स्कीमा परिवर्तनों से आपके कोड को सुरक्षित रखता है.
Question 2. PL/SQL में EXIT कथन का क्या उपयोग है?
Answer: PL/SQL में `EXIT` कथन का उपयोग किसी लूप को समाप्त करने और उससे बाहर निकलने के लिए किया जाता है। इसका सिंटैक्स `EXIT;` या `EXIT WHEN condition;` होता है। यदि `EXIT WHEN` का उपयोग किया जाता है, तो लूप तब समाप्त होता है जब निर्दिष्ट शर्त सत्य (true) हो जाती है।
In simple words: PL/SQL में `EXIT` कमांड लूप को बीच में ही रोकने और उससे बाहर निकलने का काम करता है, खासकर जब कोई खास शर्त पूरी हो जाए।
🎯 Exam Tip: लूप से बाहर निकलने के लिए हमेशा `EXIT WHEN` का उपयोग करें ताकि लूप अनंत न हो जाए और नियंत्रित तरीके से समाप्त हो.
Question 3. Before ट्रिगर क्या है?
Answer: `BEFORE` ट्रिगर PL/SQL ब्लॉक की एक संरचना है जिसका उपयोग DML (डेटा मैनिपुलेशन लैंग्वेज) स्टेटमेंट जैसे `INSERT`, `DELETE`, `UPDATE` के डेटाबेस तालिका पर चलने से `पहले` किया जाता है। यह तब स्वचालित रूप से चलता है जब उपरोक्त DML स्टेटमेंट का निष्पादन होने वाला होता है। `BEFORE` ट्रिगर यह दर्शाता है कि ट्रिगर का उपयोग डेटाबेस ऑपरेशन से पहले होगा, उदाहरण के लिए, किसी टेबल के `UPDATE` से पहले कुछ जांच करना या डेटा बदलना।
In simple words: `BEFORE` ट्रिगर एक कोड है जो डेटाबेस में किसी बदलाव (जैसे डेटा डालना या अपडेट करना) होने से ठीक पहले चलता है। यह डेटाबेस को बदलने से पहले कुछ नियम या जांच करने में मदद करता है।
🎯 Exam Tip: `BEFORE` ट्रिगर डेटा को मैनिपुलेट करने या व्यावसायिक नियमों को लागू करने के लिए आदर्श होते हैं, इससे पहले कि डेटाबेस में वास्तविक परिवर्तन किए जाएं.
Question 4. Implicit और Explicit कर्सर के बीच क्या अन्तर है?
Answer: PL/SQL में कर्सर दो प्रकार के होते हैं:
- अंतर्निहित (Implicit) कर्सर: ये कर्सर तब अपने आप बन जाते हैं जब कोई DML स्टेटमेंट जैसे `INSERT`, `UPDATE`, `DELETE` का निष्पादन किया जाता है। ये उन `SELECT` स्टेटमेंट के लिए भी उपयोग किए जाते हैं जो केवल एक पंक्ति परिणाम देते हैं। PL/SQL अपने आप ही इन कर्सरों को प्रबंधित करता है, जैसे उन्हें खोलना, डेटा लाना और बंद करना।
- बाह्यनिहित (Explicit) कर्सर: इनका निर्माण तब आवश्यक होता है जब एक `SELECT` स्टेटमेंट का निष्पादन होता है और वह कई पंक्तियाँ (एक से अधिक) लौटाता है। `Explicit` कर्सर डेवलपर द्वारा घोषित, खोला, डेटा लाया और बंद किया जाता है। ये कर्सर कई तथ्यों को संग्रहीत कर सकते हैं, लेकिन एक समय में केवल एक ही तथ्य पर कार्य किया जा सकता है, जिसे वर्तमान पंक्ति (current row) कहा जाता है। जब कोई नई पंक्ति आती है, तो पुरानी पंक्ति अगली स्थिति में आ जाती है। अंतर्निहित और बाह्यनिहित कर्सर दोनों की कार्यप्रणाली (functionality) एक समान होती है, लेकिन उनके क्रियान्वयन में अंतर होता है।
In simple words: Implicit कर्सर अपने आप बनते हैं जब SQL कुछ साधारण काम करता है, जबकि Explicit कर्सर हमें खुद बनाने पड़ते हैं जब हमें SQL से बहुत सारी पंक्तियाँ (डेटा) मिलती हैं।
🎯 Exam Tip: जब `SELECT` स्टेटमेंट कई पंक्तियाँ लौटाने की उम्मीद करता है, तो `Explicit` कर्सर का उपयोग करना अनिवार्य है ताकि 'TOO_MANY_ROWS' अपवाद से बचा जा सके.
Question 5. For Loop का सिंटैक्स लिखें।
Answer: `FOR LOOP` के भीतर स्टेटमेंट तब तक निष्पादित होते हैं जब तक लूप में निर्दिष्ट संख्या पूरी नहीं हो जाती। लूप प्रारंभिक मान से अंतिम मान (पूर्णांक मान) तक चलता है। काउंटर का मान हर बार एक संख्या से बढ़ता है। अंतिम मान तक पहुंचने पर काउंटर लूप से बाहर निकल जाता है।
`FOR LOOP` का सामान्य सिंटैक्स है:
`FOR counter IN from_value..to_value`
`LOOP`
`statements;`
`END LOOP;`
यहां, `from_value` शुरुआती पूर्णांक मान है और `to_value` अंतिम पूर्णांक मान है।
In simple words: `FOR LOOP` एक लूप है जो एक निश्चित संख्या तक चलता है। इसका सिंटैक्स `FOR काउंटर IN शुरू_मान..अंतिम_मान LOOP [कार्य] END LOOP;` होता है।
🎯 Exam Tip: `FOR` लूप स्वचालित रूप से काउंटर वेरिएबल को घोषित और प्रबंधित करता है, इसलिए इसे मैन्युअल रूप से घोषित करने की आवश्यकता नहीं होती है.
Question 1. कर्सर क्या है? कर्सर का उपयोग क्या है? उदाहरण के साथ explicit कर्सर की व्याख्या करें।
Answer:
PL/SQL कर्सर: जब कोई SQL स्टेटमेंट निष्पादित होता है, तो एक अस्थायी कार्य क्षेत्र मशीन मेमोरी में बनता है, जिसे कर्सर कहा जाता है। कर्सर में पंक्तियों और `SELECT` स्टेटमेंट से संबंधित जानकारी होती है।
उपयोग: यह अस्थायी कार्य क्षेत्र डेटाबेस से प्राप्त डेटा को संग्रहीत करता है। कर्सर कई पंक्तियों पर नियंत्रण रख सकता है, लेकिन एक समय में केवल एक पंक्ति का ही निष्पादन संभव है। जिन सभी पंक्तियों पर कर्सर का नियंत्रण होता है, उस समूह को सक्रिय सेट (active set) कहा जाता है।
Explicit कर्सर: `Explicit` कर्सर का वर्णन PL/SQL ब्लॉक के घोषणा भाग में किया जाता है। इसे `SELECT` स्टेटमेंट के संदर्भ में बनाया जाता है जो एक से अधिक पंक्तियों को प्रदर्शित करता है। आप कर्सर को अपनी इच्छानुसार कोई भी उपयुक्त नाम दे सकते हैं।
कर्सर के निर्माण के लिए सामान्य संरचना:
`CURSOR cursor_name IS select_statement;`
- `cursor_name` कर्सर का नाम है।
- `select_statement` एक `SELECT` क्वेरी है जो एक या एक से अधिक पंक्तियाँ प्रदर्शित कर सकती है।
Explicit कर्सर के उपयोग के लिए मुख्य बिंदु:
- घोषणा भाग में कर्सर को घोषित करें।
- Execution भाग में कर्सर को सक्रिय (OPEN) करें।
- Execution भाग में PL/SQL वेरिएबल्स या तथ्यों में कर्सर से डेटा प्राप्त करें।
- PL/SQL ब्लॉक की समाप्ति से पहले कर्सर को निष्क्रिय (CLOSE) करें।
उदाहरण:
`1. SQL> set serveroutput on`
`2. SQL> edit explicit_cursor`
`3. DECLARE`
`4. Cursor c is select * from emp_information`
`5. Where emp_name = 'Kamal';`
`6. tmp emp_information % rowtype;`
`12. Where tmp. emp_name= 'Sagar';`
`13. END Loop;`
`14. IF C% ROWCOUNT >OTHEN`
`15. dbms_output. put_line (SQL % ROWCOUNT || ‘Rows Updated');`
`16. ELSE .`
`17. dbms output. put_line ('No Rows Updated Found');`
`18. END IF;`
`19. CLOSEC;`
`20. END;`
`21./`
`Result: SQL>@explicit_cursor`
`1 Rows updated`
In simple words: कर्सर एक अस्थायी जगह है जहाँ SQL कमांड चलने पर डेटा जमा होता है। Explicit कर्सर हमें खुद बनाना पड़ता है जब हमें बहुत सारा डेटा मिलता है, ताकि हम उसे एक-एक करके देख सकें। इसे बनाने के लिए हमें उसे घोषित करना, खोलना, डेटा निकालना और बंद करना पड़ता है।
🎯 Exam Tip: `Explicit` कर्सर का उपयोग करते समय, `OPEN`, `FETCH`, और `CLOSE` ऑपरेशंस का सही क्रम में उपयोग करना याद रखें.
Question 2. विभिन्न प्रकार के डेटाबेस ट्रिगर्स उदाहरण के साथ समझाइए।
Answer:
डेटाबेस ट्रिगर्स के प्रकार:
- 1. BEFORE Trigger: `BEFORE` ट्रिगर DML (डाटा मैनिपुलेशन लैंग्वेज) स्टेटमेंट (`INSERT`, `UPDATE`, `DELETE`) के निष्पादन से `पहले` ही चलते हैं। ट्रिगरिंग SQL स्टेटमेंट चलेगा या नहीं, यह `BEFORE` ट्रिगर के कंडीशन ब्लॉक पर निर्भर करता है।
- 2. AFTER Trigger: `AFTER` ट्रिगर DML स्टेटमेंट (`INSERT`, `UPDATE`, `DELETE`) के निष्पादन के `बाद` चलते हैं। ट्रिगरिंग SQL स्टेटमेंट ट्रिगर के कोड के साथ ही निष्पादित होते हैं।
- 3. ROW Trigger: `ROW` ट्रिगर, प्रत्येक रिकॉर्ड के लिए तुरंत काम करता है जो डेटाबेस टेबल में `INSERT`, `UPDATE`, `DELETE` ऑपरेशन करता है। यह हर प्रभावित पंक्ति के लिए एक बार चलता है।
- 4. Statement Trigger: `Statement` ट्रिगर एक स्टेटमेंट पर केवल एक ही बार काम करता है, चाहे उस स्टेटमेंट से कितनी भी पंक्तियाँ प्रभावित हों।
- 5. Combination Trigger: `Combination` ट्रिगर दो ट्रिगर प्रकारों का मिश्रण होता है। ये निम्न प्रकार के होते हैं:
- Before statement Trigger
- Before Row Trigger
- After statement Trigger
- After Row Trigger
In simple words: डेटाबेस ट्रिगर कई प्रकार के होते हैं। `BEFORE` ट्रिगर डेटा बदलने से पहले चलता है, `AFTER` ट्रिगर बाद में। `ROW` ट्रिगर हर बदली हुई पंक्ति के लिए, और `Statement` ट्रिगर पूरे कमांड के लिए एक बार चलता है। `Combination` ट्रिगर इन सभी का मिश्रण होते हैं।
🎯 Exam Tip: ट्रिगर्स के विभिन्न प्रकारों को उनके चलने के समय (BEFORE/AFTER) और प्रभावित पंक्तियों की संख्या (ROW/STATEMENT) के आधार पर वर्गीकृत करना सीखें.
Exception के प्रकार – तीन प्रकार के Exceptions होते हैं।
1. Named System Exceptions
2. Unnamed System Exceptions
3. User-defined Exceptions
1. Named System Exceptions
सिस्टम `Exceptions` ऑरेकल द्वारा स्वचालित रूप से पहचाने जाते हैं यदि कोई प्रोग्राम RDBMS के नियमों का पालन नहीं करता है। कुछ ऐसे अपवाद जो बार-बार आते हैं और ऑरेकल में पहले से ही नामंकित होते हैं, उन्हें Named System Exceptions कहा जाता है।
उदाहरण के लिए, `NO_DATA_FOUND` और `ZERO_DIVIDE` Named System Exceptions हैं।
Named System Exceptions:
- ये बाह्यनिहित (explicitly) घोषित नहीं होते हैं।
- ये अंतर्निहित (implicitly) रूप से तब जागृत होते हैं जब ऑरेकल की पहले से परिभाषित त्रुटियाँ होती हैं।
- ये `Exceptions Handling` रूटीन में सामान्य नाम के हवाले से चिह्नित किए जाते हैं।
उदाहरण – मान लीजिए `NO DATA_FOUND` `Exception` किसी कार्यपद्धति में जागृत होता है। हम `Exceptions Handling` के लिए निम्नलिखित कोड लिख सकते हैं।
`BEGIN`
`Execution part`
`EXCEPTION`
`WHEN NO DATA FOUND THEN`
`dbms_output.put_line ('Using SELECT....INTO did not get anyrow.');`
`END;`
2. Unnamed System Exceptions
वे सभी `System Exception` जिनके लिए ऑरेकल की तरफ से कोई नाम नहीं दिया जाता है, `Unnamed System Exceptions` कहलाते हैं। ये `Exceptions` नियमित रूप से जागृत नहीं होते हैं। इन `Exceptions` के साथ एक प्रोग्राम और एक संदेश होता है। `Unnamed System Exceptions` दो प्रकार के होते हैं:
- ये अंतर्निहित रूप से जागृत होते हैं।
- दूसरों के साथ संचालन न होने की स्थिति में ये बाह्यनिहित रूप से संचालित होते हैं।
- `Exceptions` को बाह्यनिहित रूप से संचालित करने के लिए उनकी घोषणा `Pragma EXCEPTION_INIT` के उपयोग से होनी चाहिए और संचालन उपयोगकर्ता-वर्णित `Exception` के नाम से `Exception` भाग में होना चाहिए।
`EXCEPTION_INIT` का उपयोग करके `Unnamed System Exceptions` की घोषणा के लिए सामान्य संरचना:
`DECLARE`
`excep_name EXCEPTION;`
`PRAGMA`
`EXCEPTION_INIT (excep_name, Err_code);`
`BEGIN`
`Execution part`
`EXCEPTION`
`WHEN excep name THEN`
`handle the exception`
`END;`
3. User-defined Exceptions
`System Exceptions` के अलावा, हम उन `Exceptions` को भी परिभाषित कर सकते हैं जो व्यावसायिक नियमों पर आधारित हैं और जिन्हें `User-defined exceptions` कहा जाता है। `User-defined exceptions` का उपयोग करने के मुख्य बिंदु:
- इनकी घोषणा बाह्यनिहित रूप से की जानी चाहिए।
- `user-defined exceptions` के नाम का हवाला देते हुए `exception` खंड में संचालन किया जाना चाहिए।
Question 4. PL/SQL में लूप के विभिन्न प्रकार समझाइए।
Answer: जब हम किसी स्टेटमेंट या स्टेटमेंट के सेट को एक से अधिक बार निष्पादित करना चाहते हैं, तो हम पुनरावृत्ति नियंत्रण स्टेटमेंट (iterative control statements) का उपयोग करते हैं। PL/SQL में तीन तरह के लूप होते हैं:
लूप के प्रकार और उनकी संरचना इस प्रकार है:
- साधारण लूप (Simple Loop):
`Statements;`
`EXIT;`
`{or EXIT WHEN condition;}`
`ENDLOOP;`
साधारण लूप का उपयोग करते समय कुछ महत्वपूर्ण बिंदुओं पर ध्यान दें:- वेरिएबल्स को हमेशा लूप के मुख्य भाग से पहले इनिशियलाइज़ (मूल्यांकित) करें।
- लूप के भीतर वेरिएबल के मान में वृद्धि अवश्य होनी चाहिए।
- यदि आप लूप से बाहर निकलना चाहते हैं, तो `EXIT WHEN` स्टेटमेंट लिखें। यदि `EXIT` को `WHEN` के साथ नहीं लिखा जाता है, तो लूप का निष्पादन केवल एक बार होता है।
- व्हाइल लूप (While Loop): `While Loop` के भीतर लिखे गए सभी स्टेटमेंट तब तक निष्पादित होते हैं जब तक कंडीशन सत्य (true) रहती है। कंडीशन का मूल्यांकन प्रत्येक बार लूप चलने से पहले होता है। और यह तब तक चलता है जब तक कंडीशन असत्य (false) नहीं होती।
`While Loop` का सामान्य सिंटैक्स:
`WHILE < condition>`
`LOOP statements;`
`END LOOP;` - फॉर लूप (FOR LOOP): `FOR LOOP` के भीतर स्टेटमेंट तब तक निष्पादित होते हैं जब तक लूप में लिखी संख्या पूरी नहीं हो जाती। लूप का चलन प्रारंभिक से अंतिम (पूर्णांक मान दिए गए) तक होता है। काउंटर का मान प्रत्येक बार एक संख्या से बढ़ता है। अंतिम मान पर पहुंचने पर काउंटर लूप से बाहर निकल जाता है।
`FOR LOOP` का सामान्य सिंटैक्स:
`FOR counter IN from....to`
`LOOP statements;`
`END LOOP;`
यहां,- `From`- शुरुआती पूर्णांक मान।
- `To`- अंतिम पूर्णांक मान।
In simple words: PL/SQL में तीन तरह के लूप होते हैं: साधारण लूप, व्हाइल लूप और फॉर लूप। ये हमें किसी काम को बार-बार करने में मदद करते हैं जब तक कि कोई खास शर्त पूरी न हो जाए या कोई गिनती पूरी न हो जाए।
🎯 Exam Tip: विभिन्न लूप प्रकारों के सिंटैक्स और उनके उपयोग के मामलों को समझें ताकि आप सही स्थिति में सही लूप का चुनाव कर सकें.
Question 1. Function क्या है? यह Procedure से अलग कैसे है? functions और Procedure के लिए सिंटेक्स समझाइए।
Answer:
PL/SQL फंक्शन: यह एक प्रकार का नामंकित PL/SQL ब्लॉक है जो कि `procedure` के समान ही है। `Function` और `Procedure` में एक बड़ा अंतर यह है कि `function` हमेशा एक मान लौटाता है, जबकि `procedure` मान लौटा भी सकता है और नहीं भी।
फंक्शन की सामान्य संरचना:
`CREATE [OR REPLACE] FUNCTION func_name [parameters list]`
`RETURN return_datatype`
`IS`
`Declaration_part`
`BEGIN`
`Execution_part`
`Return return_variable;`
`EXCEPTION`
`exception_part`
`Return return_variable;`
`END;`
- `Return Type` हेडर वाला भाग प्रक्रिया के रिटर्न डेटाटाइप को वर्णित करता है। रिटर्न डेटाटाइप कोई भी उपयुक्त डेटाटाइप हो सकता है, जैसे `VARCHAR`, `NUMBER` आदि।
- `Execution` भाग और `exception` भाग हेडर में वर्णित डेटाटाइप का ही मान वापस देते हैं।
उदाहरण: हम एक फंक्शन बनाते हैं जिसका नाम '`student_info_func`' है।
`1. >CREATE OF REPLACE FUNCTION student_info_func`
`2. > RETURN VARCHAR(10);`
`3. >IS`
`4. > stu name VARCHAR (20);`
`5. >BEGIN`
`6. > SELECT Sname INTO stu_name`
`7. > FROM student WHERE Roll_no = '58';`
`8. >RETURN stu_name;`
`9. >END;`
`10. >/`
- चूंकि फंक्शन परिणामस्वरूप एक मान देता है, यह वेरिएबल को सौंपा जा सकता है।
`student_name : = student_info_func;`
यदि '`student_name`' के डेटा का प्रकार `VARCHAR` हो, तो हम विद्यार्थी का नाम फंक्शन के रिटर्न डेटाटाइप को इसे सौंप कर संग्रहीत कर सकते हैं। - `SELECT` स्टेटमेंट के एक भाग की तरह
`SELECT student_info_func FROM student;` - PL/SQL के कुछ स्टेटमेंट में
`dbms_output.put_line (student_info_func);`
यह पंक्ति फंक्शन द्वारा रिटर्न मान को प्रदर्शित करती है।
`Function` और `Procedure` में मुख्य अंतर यह है कि `function` को एक मान वापस करना चाहिए, जबकि `procedure` में यह वैकल्पिक है। `Function` में केवल इनपुट पैरामीटर हो सकते हैं, जबकि `Procedure` में इनपुट/आउटपुट पैरामीटर हो सकते हैं। हम `Procedure` से `function` को कॉल कर सकते हैं, जबकि `function` से `procedure` को कॉल नहीं किया जा सकता है।
Procedure:
संग्रहित कार्यप्रणाली (Stored Procedures) एक नामंकित PL/SQL ब्लॉक है जो एक या एक से अधिक कार्यों को निष्पादित करता है। `Procedures` में एक हेडर और एक बॉडी होती है। जहाँ हेडर में `Procedures` का नाम और पैरामीटर या वेरिएबल्स का नाम होता है जो `Procedures` को पास किए जाते हैं। बॉडी में एक घोषणा भाग और एक अपवाद भाग होता है। यह सामान्य PL/SQL ब्लॉक के समान ही है, लेकिन `Procedures` को एक से अधिक बार उपयोग में लाने के लिए नामंकित किया जाता है।
Procedures में पैरामीटर को पास करना: तीन प्रकार से पैरामीटर को `Procedures` में पास कर सकते हैं।
- `IN-parameters`
- `OUT-parameters`
- `IN OUT-parameters`
Procedures के निष्पादन हेतु सामान्य संरचना:
`CREATE [ORREPLACE] PROCEDURE proce_name [parameterlist]`
`IS`
`Declaration section`
`BEGIN`
`Execution section`
`Exception section`
`लिखा हुआ भाग ही घोषणा भाग कहलाता है।`
जो भाग बड़े कोष्ठक `[]` में लिखा जाता है, वह गैर-जरूरी होता है। हम `CREATE` या `REPLACE` को एक साथ तभी प्रयुक्त करते हैं जब समान नाम से कोई और `procedure` न हो या मौजूदा `procedure` को वर्तमान कोड से बदलना हो।
In simple words: `Function` और `Procedure` दोनों ही कोड के ब्लॉक हैं। `Function` हमेशा एक मान वापस देता है, जबकि `Procedure` दे भी सकता है और नहीं भी। `Function` सिर्फ इनपुट लेता है, जबकि `Procedure` इनपुट और आउटपुट दोनों ले सकता है। दोनों का सिंटैक्स लगभग एक जैसा होता है, जिसमें Declare, Begin और Exception भाग होते हैं।
🎯 Exam Tip: `Function` और `Procedure` के बीच मुख्य अंतर उनकी रिटर्न वैल्यू और पैरामीटर प्रकारों को याद रखें. सिंटैक्स में `RETURN` क्लॉज `function` के लिए महत्वपूर्ण है.
RBSE Class 12 Computer Science Chapter 15 अन्य महत्त्वपूर्ण प्रश्न
RBSE Class 12 Computer Science Chapter 15 अतिलघु उत्तरीय प्रश्न
Question 1. PL/SQL का निर्माण किस कम्पनी ने किया है?
Answer: PL/SQL का निर्माण ऑरेकल कम्पनी ने किया है।
In simple words: PL/SQL को ऑरेकल कंपनी ने बनाया है।
🎯 Exam Tip: प्रोग्रामिंग भाषाओं और उनके डेवलपर्स को याद रखना अक्सर सीधे-सीधे पूछे जाने वाले प्रश्न होते हैं.
Question 2. PL/SQL ब्लॉक क्या होता है?
Answer: PL/SQL ब्लॉक मुख्य रूप से SQL और PL/SQL स्टेटमेंट से मिलकर बनता है। PL/SQL प्रोग्राम में इनका उपयोग कोड को संगठित करने और निष्पादित करने के लिए होता है। एक ब्लॉक में आमतौर पर घोषणा (Declaration), निष्पादन (Execution) और अपवाद संचालन (Exception Handling) जैसे भाग होते हैं।
In simple words: PL/SQL ब्लॉक SQL और PL/SQL कोड का एक साथ किया गया सेट है, जो प्रोग्राम को अच्छे से चलाने में मदद करता है।
🎯 Exam Tip: PL/SQL ब्लॉक की संरचना को समझें, जिसमें Declare, Begin-End, और Exception भाग शामिल हैं.
Question 3. Exception भाग क्या होता है?
Answer: PL/SQL खंड का Exception भाग वह हिस्सा है जो वैकल्पिक होता है। यह आरक्षित कीवर्ड `EXCEPTION` से शुरू होता है और इसका उपयोग प्रोग्राम में त्रुटियों को संभालने के लिए किया जाता है, जिससे प्रोग्राम अचानक बंद होने के बजाय नियंत्रित तरीके से प्रतिक्रिया कर सके।
In simple words: Exception भाग वह जगह है जहाँ प्रोग्राम में आने वाली गलतियों को संभाला जाता है, ताकि प्रोग्राम बिना क्रैश हुए आगे बढ़ सके।
🎯 Exam Tip: Exception भाग का मुख्य उद्देश्य अप्रत्याशित त्रुटियों से प्रोग्राम को सुरक्षित रखना है, जिससे वह अधिक स्थिर और विश्वसनीय बन सके.
Question 4. प्लेसहोल्डर का प्रमुख कार्य क्या होता है?
Answer: प्लेसहोल्डर का प्रमुख कार्य डेटा को अस्थायी रूप से संग्रहीत करना होता है। ये एक वेरिएबल की तरह काम करते हैं जो किसी मान को तब तक रोक कर रखते हैं जब तक उसकी आवश्यकता होती है, और PL/SQL ब्लॉक के भीतर बदला भी जा सकता है।
In simple words: प्लेसहोल्डर डेटा को कुछ समय के लिए अपने पास रखता है, जैसे एक खाली जगह जिसे बाद में भरा जा सकता है।
🎯 Exam Tip: प्लेसहोल्डर का उपयोग कोड को अधिक लचीला और पुनः प्रयोज्य बनाने में मदद करता है, क्योंकि आप कोड बदले बिना विभिन्न मानों के साथ इसका उपयोग कर सकते हैं.
Question 5. Execution भाग के भागों के नाम बताइए।
Answer: PL/SQL ब्लॉक के Execution भाग के विभिन्न भागों के नाम हैं: प्रोग्रामेटिक कंस्ट्रक्ट्स जैसे `Loops` (लूप), `Conditional statements` (सशर्त कथन जैसे `IF-ELSE`), और `SQL statements` (SQL कथन)। यह वह भाग है जहाँ वास्तविक लॉजिक और डेटा मैनिपुलेशन होता है।
In simple words: Execution भाग में हम लूप, IF-ELSE जैसे कमांड और SQL कमांड का उपयोग करते हैं, जो असल में प्रोग्राम का काम करते हैं।
🎯 Exam Tip: Execution भाग PL/SQL ब्लॉक का मुख्य कार्यात्मक हिस्सा है, जहाँ सभी प्रोग्रामिंग लॉजिक और डेटाबेस इंटरैक्शन होते हैं.
Question 7. PL/SQL वेरिएबल्स क्या होते हैं?
Answer: PL/SQL वेरिएबल्स वे प्लेसहोल्डर्स होते हैं जो मानों को संग्रहीत करते हैं और PL/SQL ब्लॉक के माध्यम से बदले जा सकते हैं। वे डेटाबेस से प्राप्त डेटा, गणना के परिणाम या अन्य अस्थायी मानों को होल्ड करने के लिए उपयोग किए जाते हैं।
In simple words: PL/SQL वेरिएबल्स नाम वाली जगहें हैं जहाँ हम डेटा (मान) रखते हैं, जिन्हें प्रोग्राम के दौरान बदला जा सकता है।
🎯 Exam Tip: वेरिएबल्स का सही डेटाटाइप चुनना और उन्हें Declare भाग में घोषित करना महत्वपूर्ण है.
Question 8. कॉन्स्टेन्ट से आप क्या समझते हैं?
Answer: यदि PL/SQL ब्लॉक में प्रयुक्त मान पूरे प्रोग्राम में अपरिवर्तित रहता है, तो इस तरह के मान को कॉन्स्टेन्ट (स्थिर) कहा जाता है। कॉन्स्टेन्ट एक घोषित मान होता है जिसे इसके पूरे जीवनकाल में बदला नहीं जा सकता है, जो कोड को अधिक विश्वसनीय और पठनीय बनाता है।
In simple words: कॉन्स्टेन्ट एक ऐसा मान है जो प्रोग्राम में कभी नहीं बदलता है। इसे एक बार तय कर दिया जाता है और वह हमेशा वैसा ही रहता है।
🎯 Exam Tip: कॉन्स्टेन्ट को हमेशा `CONSTANT` कीवर्ड का उपयोग करके घोषित किया जाना चाहिए और उसे एक प्रारंभिक मान दिया जाना चाहिए.
Question 9. VALUE से आप क्या समझते हैं?
Answer: `VALUE` वह मूल्य या मूल्यांकन है जो किसी भी कॉन्स्टेन्ट को घोषित करते समय दिया जाता है। यह एक डेटा आइटम होता है जिसे वेरिएबल या कॉन्स्टेन्ट में संग्रहीत किया जा सकता है।
In simple words: `VALUE` वह अंक या डेटा है जो किसी चीज़ को घोषित करते समय उसे दिया जाता है, जैसे किसी वेरिएबल या कॉन्स्टेन्ट को।
🎯 Exam Tip: `VALUE` और `CONSTANT` के बीच का अंतर स्पष्ट रखें: `CONSTANT` एक पहचानकर्ता है, और `VALUE` वह अपरिवर्तनीय डेटा है जो उसे सौंपा गया है.
Question 10. Exception Handling किसे कहते हैं?
Answer: PL/SQL की एक सुविधा यह है कि यह PL/SQL ब्लॉक में आने वाले `Exception` (अपवाद या त्रुटियों) को हैंडल करता है। इस प्रक्रिया को `Exception Handling` कहा जाता है। इसका उपयोग करके हम वर्तमान प्रोग्राम या कोड की जाँच कर सकते हैं और त्रुटियों को नियंत्रित तरीके से प्रबंधित कर सकते हैं, जिससे प्रोग्राम अचानक बंद होने से बचता है।
In simple words: Exception Handling का मतलब है प्रोग्राम में आने वाली गलतियों को पहचानना और उन्हें ठीक करना, ताकि प्रोग्राम बिना किसी परेशानी के चलता रहे।
🎯 Exam Tip: `Exception Handling` कोड को मजबूत बनाता है और उपयोगकर्ता अनुभव को बेहतर बनाता है, क्योंकि त्रुटियों को उचित संदेशों के साथ संभाला जा सकता है.
Question 11. Exception कितने प्रकार के होते हैं? नाम बताइए।
Answer: `Exception` तीन प्रकार के होते हैं:
- Named System Exception
- Unnamed System Exception
- User-defined Exception
In simple words: `Exception` तीन तरह के होते हैं: Named System (ऑरेकल द्वारा दिए गए नाम), Unnamed System (बिना नाम वाले सिस्टम के) और User-defined (यूजर द्वारा बनाए गए).
🎯 Exam Tip: प्रत्येक प्रकार के `Exception` को परिभाषित करने और उनका उपयोग कब किया जाता है, यह याद रखना आवश्यक है.
Question 12. Unnamed System Exceptions किसे कहते हैं?
Answer: `Unnamed System Exceptions` वे सिस्टम `Exceptions` होते हैं जिनके लिए ऑरेकल की तरफ से कोई पूर्वनिर्धारित नाम नहीं दिया जाता है। ये `Exceptions` आमतौर पर बहुत कम होते हैं या ऑरेकल ने उनके लिए एक विशिष्ट नाम नहीं बनाया होता है। इन्हें `PRAGMA EXCEPTION_INIT` का उपयोग करके कस्टम नाम दिए जा सकते हैं ताकि उन्हें `Exception` हैंडलिंग ब्लॉक में संभाला जा सके।
In simple words: Unnamed System Exceptions वे गलतियाँ होती हैं जिनके लिए ऑरेकल ने पहले से कोई खास नाम नहीं दिया होता है। हम इन्हें अपने प्रोग्राम में एक नाम दे सकते हैं ताकि इन्हें संभाला जा सके।
🎯 Exam Tip: `Unnamed System Exceptions` को संभालने के लिए `PRAGMA EXCEPTION_INIT` का उपयोग करना महत्वपूर्ण है, जिससे आप उन्हें नाम दे सकें और आसानी से कोड में संदर्भित कर सकें.
RBSE Class 12 Computer Science Chapter 15 लघु उत्तरीय प्रश्न
Question 1. PL/SQL के Declaration भाग पर संक्षिप्त टिप्पणी लिखिए।
Answer: PL/SQL ब्लॉक का Declaration भाग वह खंड है जो प्रोग्राम के लिए आवश्यक नहीं है, लेकिन इसे `DECLARE` कीवर्ड से शुरू किया जाता है। इस खंड का मुख्य उद्देश्य कांस्टेंट्स, रिकॉर्ड्स, वेरिएबल्स और कर्सर को परिभाषित करना होता है। ये सभी प्लेसहोल्डर्स (स्थिरांक, वेरिएबल और रिकॉर्ड्स) प्रोग्राम के Execution भाग में डेटा को व्यवस्थित करने के लिए उपयोग किए जाते हैं। कर्सर भी इसी खंड में घोषित किए जाते हैं।
In simple words: Declaration भाग में प्रोग्राम के लिए आवश्यक कांस्टेंट्स, वेरिएबल्स और कर्सर जैसी चीज़ें परिभाषित की जाती हैं।
🎯 Exam Tip: याद रखें कि 'Declaration' भाग वैकल्पिक होता है, लेकिन यह प्रोग्राम के सभी वेरिएबल्स और कांस्टेंट्स को व्यवस्थित रूप से परिभाषित करने में मदद करता है।
Question 2. PL/SQL के Execution भाग पर संक्षिप्त टिप्पणी लिखिए।
Answer: PL/SQL ब्लॉक का Execution भाग प्रोग्राम का वह अनिवार्य हिस्सा होता है जो `BEGIN` और `END` कीवर्ड्स के बीच आता है। यह वह जगह है जहाँ प्रोग्राम के मुख्य लॉजिक को लिखा जाता है ताकि कोई कार्य सफलतापूर्वक पूरा किया जा सके। इस भाग में प्रोग्रामेटिक कंस्ट्रक्ट्स जैसे लूप्स, सशर्त कथन (conditional statements) और SQL कथन शामिल होते हैं, जो डेटाबेस के साथ बातचीत करते हैं।
In simple words: Execution भाग `BEGIN` और `END` के बीच का मुख्य कोड होता है, जहाँ प्रोग्राम के सभी काम होते हैं, जैसे लूप और कंडीशन।
🎯 Exam Tip: Execution भाग PL/SQL ब्लॉक का हृदय होता है, जहाँ सभी वास्तविक कार्य और डेटाबेस ऑपरेशन किए जाते हैं।
Question 3. PL/SQL खण्ड की बनावट उदाहरण सहित समझाइये।
Answer: PL/SQL खंड की बनावट में तीन मुख्य भाग होते हैं, हालाँकि उनमें से कुछ वैकल्पिक हो सकते हैं। इसका सामान्य ढाँचा इस प्रकार है:
`DECLARE`
`Variable declaration` (वेरिएबल घोषणाएँ)
`BEGIN`
`Program Execution` (प्रोग्राम का मुख्य कार्य)
`EXCEPTION`
`Exception handling` (त्रुटियों का प्रबंधन)
`END;`
इस संरचना में, `DECLARE` भाग में वेरिएबल और कर्सर जैसी चीजें परिभाषित होती हैं, `BEGIN` और `END` के बीच मुख्य प्रोग्राम लॉजिक होता है, और `EXCEPTION` भाग में प्रोग्राम में आने वाली त्रुटियों को संभाला जाता है।
In simple words: PL/SQL प्रोग्राम तीन हिस्सों में बँटा होता है: एक जहाँ आप चीज़ें बताते हैं (`DECLARE`), एक जहाँ असली काम होता है (`BEGIN...END`), और एक जहाँ गलतियों को संभाला जाता है (`EXCEPTION`)।
🎯 Exam Tip: PL/SQL ब्लॉक की संरचना को समझने के लिए `DECLARE`, `BEGIN...END`, और `EXCEPTION` भागों को उनके संबंधित कार्यों के साथ याद रखें।
Question 4. PL/SQL प्रोग्राम के महत्त्वपूर्ण बिन्दु बताइए।
Answer: PL/SQL प्रोग्राम के कुछ महत्त्वपूर्ण बिन्दु इस प्रकार हैं:
- PL/SQL प्रोग्राम खंड (ब्लॉक) का मुख्य भाग `BEGIN` कीवर्ड से शुरू होता है और `END` कीवर्ड पर समाप्त होता है, जिसे Executable भाग कहते हैं।
- PL/SQL प्रोग्राम खंड कथनों (statements) से मिलकर बनता है, और प्रत्येक कथन सेमीकॉलन (;) से समाप्त होता है।
- PL/SQL प्रोग्राम खंड के अंत में फॉरवर्ड स्लैश (/) लगाया जाता है, जो प्रोग्राम खंड के कथनों के निष्पादन के लिए जिम्मेदार होता है।
In simple words: PL/SQL प्रोग्राम `BEGIN` से `END` तक चलता है, हर लाइन के अंत में सेमीकॉलन होता है, और अंत में एक फॉरवर्ड स्लैश `/` होता है।
🎯 Exam Tip: एक सफल PL/SQL प्रोग्राम के लिए `BEGIN-END` ब्लॉक, सेमीकॉलन से कथनों का अंत, और निष्पादन के लिए अंतिम स्लैश `/` याद रखना महत्वपूर्ण है।
Question 5. PL/SQL खण्ड के प्रमुख लाभ बताइए।
Answer: PL/SQL खंड के कई लाभ हैं जो इसे कुशल और शक्तिशाली बनाते हैं:
- **मॉड्यूलरिटी:** PL/SQL में प्रोग्राम के खंड एक-दूसरे के साथ लिखे जा सकते हैं, जिसे नेस्टिंग कहते हैं। प्रत्येक खंड संपूर्ण कार्य के छोटे या बड़े अंश के लिए जिम्मेदार होता है।
- **पुन: उपयोग:** PL/SQL खंड डेटाबेस में संग्रहीत किए जा सकते हैं और आवश्यकता पड़ने पर पुनः उपयोग में लाए जा सकते हैं।
- **बेहतर प्रदर्शन:** PL/SQL इंजन एक साथ कई SQL कथनों को एक खंड के रूप में संचालित करता है। इससे बेहतर प्रदर्शन मिलता है और नेटवर्क ट्रैफिक कम होता है।
- **प्रक्रियात्मक क्षमता:** PL/SQL को और शक्तिशाली बनाने के लिए कुछ प्रक्रियात्मक भाषा कंस्ट्रक्ट्स का उपयोग किया जाता है, जैसे `IF-ELSE` और `FOR` लूप्स।
In simple words: PL/SQL खंड प्रोग्राम को छोटे हिस्सों में बांटते हैं, उन्हें दोबारा इस्तेमाल किया जा सकता है, वे तेज़ी से काम करते हैं, और उनमें निर्णय लेने या बार-बार काम करने की क्षमता होती है।
🎯 Exam Tip: PL/SQL के प्रमुख लाभों में कोड पुन: उपयोग, बेहतर प्रदर्शन, मॉड्यूलरिटी और प्रक्रियात्मक प्रोग्रामिंग क्षमताओं पर ध्यान केंद्रित करें।
Question 6. PL/SQL के प्लेसहोल्डर्स के विषय में बताइए।
Answer: PL/SQL वेरिएबल्स को प्लेसहोल्डर्स कहा जाता है। ये ऐसे स्थान होते हैं जो वैल्यूज को संग्रहित करते हैं और PL/SQL खंड के भीतर बदले जा सकते हैं। वेरिएबल्स विभिन्न प्रकार के डेटा को स्टोर कर सकते हैं, जैसे:
`Number (n, m)`
`Char (n)`
`Varchar2 (n)`
`Date`
`Long`
`Long raw`
`Raw`
`Blob`
`Clob`
`Nclob`
`Bfile`
ये डेटाटाइप्स बताते हैं कि वेरिएबल किस तरह की जानकारी रख सकता है।
In simple words: PL/SQL वेरिएबल्स ऐसी जगहें हैं जहाँ डेटा रखा जाता है, और प्रोग्राम चलने के दौरान उसे बदला जा सकता है। ये अलग-अलग तरह के डेटा जैसे नंबर, अक्षर या तारीख स्टोर कर सकते हैं।
🎯 Exam Tip: PL/SQL वेरिएबल्स को डेटा स्टोर करने वाले कंटेनरों के रूप में समझें और विभिन्न डेटाटाइप्स को याद रखें जिनका वे समर्थन करते हैं।
Question 7. PL/SQL में वेरिएबल्स को घोषित करने की सिन्टेक्स बताइए तथा उदाहरण भी दीजिए।
Answer: PL/SQL में वेरिएबल्स को घोषित करने के लिए सामान्य सिंटैक्स इस प्रकार है:
`variable_name datatype [NOT NULL := value];`
यहाँ, `variable_name` वेरिएबल का नाम है। `datatype` एक उचित PL/SQL डेटाटाइप है। `NOT NULL` एक वैकल्पिक विशेषता है जो सुनिश्चित करती है कि वेरिएबल में हमेशा एक वैल्यू हो। `:= value` का उपयोग वेरिएबल को प्रारंभिक मान (initial value) देने के लिए किया जाता है। प्रत्येक वेरिएबल घोषणा एक अलग स्टेटमेंट होती है और सेमीकॉलन से समाप्त होती है।
**उदाहरण:**
यदि आप एक शिक्षक का वर्तमान वेतन संग्रहित करना चाहते हैं, तो आप इस प्रकार वेरिएबल उपयोग कर सकते हैं:
`DECLARE`
`salary_variable number(6);`
यहाँ, `salary_variable` एक वेरिएबल है जिसका डेटाटाइप `number` है और इसकी लंबाई 6 है। जब `NOT NULL` के साथ वेरिएबल घोषित किया जाता है, तो उसे तुरंत एक प्रारंभिक मान देना होता है।
In simple words: वेरिएबल को बनाने के लिए उसका नाम, डेटा का प्रकार और शुरूआती वैल्यू दी जाती है। जैसे `salary_variable number(6);` एक वेतन वाला नंबर स्टोर करने के लिए।
🎯 Exam Tip: वेरिएबल घोषित करते समय नाम, डेटाटाइप और वैकल्पिक रूप से `NOT NULL` व प्रारंभिक वैल्यू को शामिल करने के सिंटैक्स को ध्यान में रखें।
Question 8. PL/SQL कॉन्स्टेन्ट क्या होता है? इसका उपयोग व सिन्टेक्स बताइए।
Answer: PL/SQL कॉन्स्टेन्ट एक ऐसी वैल्यू होती है जो पूरे प्रोग्राम के दौरान कभी नहीं बदलती। यदि PL/SQL खंड में उपयोग की गई वैल्यू पूरे प्रोग्राम में स्थिर रहती है, तो उसे कॉन्स्टेन्ट कहा जाता है।
**उपयोग:** कॉन्स्टेन्ट का उपयोग करने से प्रोग्राम को बनाए रखना आसान हो जाता है। उदाहरण के लिए, यदि एक प्रोग्राम किसी शिक्षक के वेतन में 10% की वृद्धि करता है, तो आप इस 10% को एक कॉन्स्टेन्ट के रूप में घोषित कर सकते हैं। यदि भविष्य में वृद्धि दर बदलती है, तो आपको केवल एक जगह कॉन्स्टेन्ट की वैल्यू को बदलना होगा, न कि पूरे कोड में।
**कॉन्स्टेन्ट की घोषणा का सिंटैक्स:**
`name_constant CONSTANT datatype = VALUE;`
In simple words: कॉन्स्टेन्ट एक वैल्यू है जो प्रोग्राम में कभी नहीं बदलती। इसका उपयोग फिक्स वैल्यू जैसे प्रतिशत को स्टोर करने और उन्हें आसानी से बदलने के लिए किया जाता है, जैसे `PI CONSTANT NUMBER := 3.14;`।
🎯 Exam Tip: कॉन्स्टेन्ट को स्थिर मानों के लिए उपयोग करें और `CONSTANT` कीवर्ड और असाइनमेंट (`:=`) के साथ उचित सिंटैक्स को याद रखें।
Question 10. PL/SQL ट्रिगर Execution Hierarchy बताइए।
Answer: जब PL/SQL ट्रिगर का उपयोग किया जाता है, तो उनकी निष्पादन पदानुक्रम (execution hierarchy) इस प्रकार होती है:
- सबसे पहले, `BEFORE` वाक्य ट्रिगर (statement trigger) उपयोग में आता है।
- उसके बाद, `BEFORE` रो-लेवल ट्रिगर (row-level trigger) उपयोग में आता है।
In simple words: ट्रिगर पहले `BEFORE` स्टेटमेंट के लिए चलता है, फिर `BEFORE` रो के लिए।
🎯 Exam Tip: ट्रिगर निष्पादन क्रम को याद रखें, विशेष रूप से `BEFORE` स्टेटमेंट और `BEFORE` रो-लेवल ट्रिगर के बीच का अंतर।
Question 1. PL/SQL SET Serveroutput ON क्या है? इसका उपयोग उदाहरण सहित समझाइए।
Answer: `SET Serveroutput ON` एक कमांड है जिसे PL/SQL प्रोग्राम चलाने से पहले हमेशा लिखना चाहिए। चूंकि PL/SQL प्रोग्राम Oracle इंजन में निष्पादित होते हैं, इसलिए स्क्रीन पर आउटपुट प्रदर्शित करने के लिए इस कमांड की आवश्यकता होती है। यदि इसका उपयोग नहीं किया जाता है, तो कोई परिणाम प्रदर्शित नहीं होगा।
**उदाहरण:**
सर्वर आउटपुट के उपयोग को समझने के लिए एक उदाहरण लेते हैं। प्रोग्राम की पहली लाइन सर्वर आउटपुट को शुरू करती है। तत्पश्चात वेरिएबल्स और कॉन्स्टेन्ट का वर्णन होता है। प्लेसहोल्डर वर्णित करने के पश्चात् `dbms_output.put_line` नामक निर्देश का उपयोग वर्णित वेरिएबल के नाम को छापने हेतु होता है।
`SQL>set serveroutput on`
`SQL>DECLARE`
`Sno number (4) NOT NULL:=3`
`SnameVarchar2(14):= 'Hari';`
`Sclass CONSTANT varchar2(10):= '9th';`
`BEGIN`
`dbms_output.put_line ('Declared Value:');`
`dbms_output.put_line ('Student Numbr: ' || Sno || ' Student Name: ' || Sname);`
`dbms_output.put_line ('Constant Declared:');`
`dbms_output.put_line ('student Class : ' || Sclass);`
`END;`
`/`
**परिणाम:**
`Declared Value:`
`Student Number: 3 Student Name: Hari`
`Constant Declared:`
`student Class: 9th`
In simple words: `SET Serveroutput ON` वह कमांड है जो हमें PL/SQL प्रोग्राम के परिणाम स्क्रीन पर दिखाने में मदद करती है, नहीं तो हमें कुछ भी दिखाई नहीं देगा।
🎯 Exam Tip: हमेशा याद रखें कि `SET Serveroutput ON` कमांड PL/SQL ब्लॉक के निष्पादन आउटपुट को देखने के लिए अनिवार्य है।
Question 2. PL/SQL के नियमबद्ध (Conditional) वाक्य के विषय में विस्तारपूर्वक बताइए।
Answer: PL/SQL में नियमबद्ध या सशर्त वाक्य (conditional statements) प्रोग्राम को विभिन्न स्थितियों के आधार पर अलग-अलग कार्य करने में मदद करते हैं। ये वाक्य किसी कंडीशन की जांच करते हैं और उस कंडीशन के सत्य या असत्य होने पर आधारित कोड को निष्पादित करते हैं।
**वाक्य रचना (Syntaxes):**
1. **`IF...THEN...ELSE` संरचना:**
`IF condition`
`THEN`
`statement 1;`
`ELSE`
`statement 2;`
`END IF;`
यह संरचना जांच करती है कि यदि कंडीशन सत्य है, तो `statement 1` निष्पादित होता है, अन्यथा `statement 2` निष्पादित होता है।
2. **`IF...THEN...ELSEIF...ELSE` संरचना:**
`IF condition 1`
`THEN`
`statement 1;`
`statement 2;`
`ELSEIF condition2 THEN`
`statement 3;`
`ELSE`
`statement 4;`
`END IF;`
यह संरचना कई कंडीशन की जांच करने की अनुमति देती है। यदि `condition 1` सत्य है, तो `statement 1` और `statement 2` निष्पादित होते हैं। यदि `condition 1` असत्य है लेकिन `condition 2` सत्य है, तो `statement 3` निष्पादित होता है। यदि दोनों कंडीशन असत्य हैं, तो `statement 4` निष्पादित होता है।
In simple words: PL/SQL में कंडीशनल स्टेटमेंट प्रोग्राम को अलग-अलग काम करने देते हैं, यह देखने के बाद कि कोई शर्त सही है या गलत। इसमें `IF` से शुरू होकर `THEN`, `ELSEIF` और `ELSE` का उपयोग होता है।
🎯 Exam Tip: `IF-THEN-ELSE` और `IF-THEN-ELSEIF` संरचनाओं के सही सिंटैक्स और उनके उपयोग को समझें ताकि आप विभिन्न कंडीशनों को प्रभावी ढंग से संभाल सकें।
Question 3. अंतर्निहित कर्सर क्या होता है? इसके उदाहरण दीजिए व गुणों के विषय में प्रोग्राम सहित बताइए।
Answer: PL/SQL में कर्सर दो प्रकार के होते हैं: अंतर्निहित (Implicit) और बाह्यनिहित (Explicit)।
**अंतर्निहित (Implicit) कर्सर:** ये कर्सर Oracle द्वारा स्वचालित रूप से बनाए जाते हैं जब कोई DML (Data Manipulation Language) वाक्य जैसे `INSERT`, `UPDATE`, `DELETE` निष्पादित होता है, या जब एक `SELECT` वाक्य केवल एक पंक्ति का परिणाम देता है। हमें इन्हें मैन्युअल रूप से घोषित करने या खोलने की आवश्यकता नहीं होती है।
**अंतर्निहित कर्सर के गुण (Attributes):** ये गुण DML संचालन क्रियाओं की स्थिति बताते हैं।
- `%FOUND`: यदि DML वाक्य ने कम से कम एक पंक्ति को प्रभावित किया है (या SELECT ने एक पंक्ति लौटाई है) तो यह `TRUE` देता है।
- `%NOTFOUND`: यदि DML वाक्य ने किसी भी पंक्ति को प्रभावित नहीं किया है (या SELECT ने कोई पंक्ति नहीं लौटाई है) तो यह `TRUE` देता है।
- `%ROWCOUNT`: DML वाक्य द्वारा प्रभावित पंक्तियों की संख्या देता है।
- `%ISOPEN`: हमेशा `FALSE` देता है क्योंकि अंतर्निहित कर्सर को Oracle द्वारा स्वचालित रूप से खोला और बंद किया जाता है।
एक PL/SQL खंड पर विचार करें जो अंतर्निहित कर्सर के गुणों का उपयोग करता है:
`DECLARE`
`rows_var number(7);`
`BEGIN`
`UPDATE Teacher`
`SET salary= salary+100;`
`IF SQL%NOTFOUND THEN`
`dbms_output.put_line ('salaries not updated');`
`ELSIF SQL%FOUND THEN`
`rows_var := SQL%ROWCOUNT;`
`dbms_output.put_line ('Salaries for ' || rows_var || ' teachers are updated');`
`END IF;`
`END;`
उपरोक्त PL/SQL खंड में `Teacher` नामक टेबल में उपस्थित सभी शिक्षकों के वेतन को `UPDATE` किया गया है। यदि किसी शिक्षक का वेतन `UPDATE` नहीं होता है, तो हमें त्रुटि होने का संदेश मिलता है कि 'salaries not updated' हैं। अन्यथा हमें संदेश मिलता है कि 'Salaries for X teachers are updated' (जहाँ X प्रभावित पंक्तियों की संख्या है)।
In simple words: अंतर्निहित कर्सर वे होते हैं जो SQL कमांड (जैसे `INSERT`, `UPDATE`) चलाने पर अपने आप बन जाते हैं। वे `%FOUND` (कुछ मिला?), `%NOTFOUND` (कुछ नहीं मिला?), और `%ROWCOUNT` (कितनी लाइनों पर असर हुआ?) जैसी जानकारी देते हैं।
🎯 Exam Tip: अंतर्निहित कर्सर के स्वचालित निर्माण और उनके गुणों (%FOUND, %NOTFOUND, %ROWCOUNT) को याद रखें, क्योंकि वे DML ऑपरेशन के बाद की स्थिति को जानने के लिए महत्वपूर्ण हैं।
Question 4. PL/SQL में Procedure को कितने प्रकार से लागू किया जा सकता है। Procedure के निर्माण का एक उदाहरण दीजिए।
Answer: PL/SQL में प्रोसीजर को लागू करने के विभिन्न तरीके होते हैं, खासकर पैरामीटर पास करने के संदर्भ में (IN, OUT, IN OUT)। प्रोसीजर एक संग्रहीत कार्यपद्धति (Stored Procedure) है, जो एक नामांकित PL/SQL खंड होता है और एक या एक से अधिक कार्यों को निष्पादित करता है। प्रोसीजर में एक हैडर और एक बॉडी होती है।
**प्रोसीजर के निर्माण का उदाहरण:**
निम्नलिखित उदाहरण एक प्रोसीजर बनाता है जिसका नाम `student_info` है, और इसका कार्य विद्यार्थियों की सूचनाएँ प्रदान करना है:
`CREATE OR REPLACE PROCEDURE student_info`
`IS`
`CURSOR stu_cur IS`
`SELECT roll_no, Sname, age FROM Student;`
`stu_rec stu_cur% rowtype;`
`BEGIN`
`FOR stu_rec IN 1..7`
`LOOP`
`dbms_output.put_line (stu_cur. Roll_no || " " || stu_cur.Sname || " " || stu_cur.age);`
`END LOOP;`
`END;`
इस प्रोसीजर में, एक कर्सर `stu_cur` छात्रों की जानकारी (`roll_no`, `Sname`, `age`) का चयन करता है, और एक लूप का उपयोग करके उन जानकारियों को `dbms_output.put_line` का उपयोग करके प्रिंट किया जाता है।
In simple words: PL/SQL में प्रोसीजर एक खास तरह का कोड होता है जिसे नाम दिया जाता है और वह कई काम कर सकता है। इसे `CREATE OR REPLACE PROCEDURE` कमांड से बनाया जाता है, जैसे `student_info` प्रोसीजर छात्रों की जानकारी दिखाता है।
🎯 Exam Tip: प्रोसीजर के निर्माण के लिए `CREATE OR REPLACE PROCEDURE` सिंटैक्स को अच्छी तरह से समझें और उसके विभिन्न भागों (कर्सर, लूप, आदि) को ध्यान में रखें।
Free study material for Computer Science
RBSE Solutions Class 12 Computer Science Chapter 15 PLSQL के आधार बिन्दु
Students can now access the RBSE Solutions for Chapter 15 PLSQL के आधार बिन्दु prepared by teachers on our website. These solutions cover all questions in exercise in your Class 12 Computer Science textbook. Each answer is updated based on the current academic session as per the latest RBSE syllabus.
Detailed Explanations for Chapter 15 PLSQL के आधार बिन्दु
Our expert teachers have provided step-by-step explanations for all the difficult questions in the Class 12 Computer Science chapter. Along with the final answers, we have also explained the concept behind it to help you build stronger understanding of each topic. This will be really helpful for Class 12 students who want to understand both theoretical and practical questions. By studying these RBSE Questions and Answers your basic concepts will improve a lot.
Benefits of using Computer Science Class 12 Solved Papers
Using our Computer Science solutions regularly students will be able to improve their logical thinking and problem-solving speed. These Class 12 solutions are a guide for self-study and homework assistance. Along with the chapter-wise solutions, you should also refer to our Revision Notes and Sample Papers for Chapter 15 PLSQL के आधार बिन्दु to get a complete preparation experience.
FAQs
The complete and updated RBSE Solutions Class 12 Computer Science Chapter 15 PLSQL के आधार बिन्दु is available for free on StudiesToday.com. These solutions for Class 12 Computer Science are as per latest RBSE curriculum.
Yes, our experts have revised the RBSE Solutions Class 12 Computer Science Chapter 15 PLSQL के आधार बिन्दु as per 2026 exam pattern. All textbook exercises have been solved and have added explanation about how the Computer Science concepts are applied in case-study and assertion-reasoning questions.
Toppers recommend using RBSE language because RBSE marking schemes are strictly based on textbook definitions. Our RBSE Solutions Class 12 Computer Science Chapter 15 PLSQL के आधार बिन्दु will help students to get full marks in the theory paper.
Yes, we provide bilingual support for Class 12 Computer Science. You can access RBSE Solutions Class 12 Computer Science Chapter 15 PLSQL के आधार बिन्दु in both English and Hindi medium.
Yes, you can download the entire RBSE Solutions Class 12 Computer Science Chapter 15 PLSQL के आधार बिन्दु in printable PDF format for offline study on any device.