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

Oracle डाटाबेस में PL/SQL एक्सेप्शन हैंडलिंग का परिचय

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

अपनी समस्या को जानना उसका समाधान खोजने की दिशा में पहला कदम है। तो आइए Oracle डेटाबेस में अपवाद प्रबंधन के बारे में अधिक जानें।

अपवाद क्या है?

कोई भी असामान्य स्थिति या घटना जो रन टाइम पर आपके प्रोग्राम के निर्देशों के सामान्य प्रवाह को बाधित करती है, एक अपवाद है। या सरल शब्दों में आप कह सकते हैं कि एक अपवाद रन टाइम त्रुटि है।

जानकारी बाइट:
अपवादों को संकलन समय त्रुटि प्रबंधन के बजाय रन टाइम त्रुटि प्रबंधन के लिए डिज़ाइन किया गया है। संकलन चरण के दौरान होने वाली त्रुटियों का PL/SQL कंपाइलर द्वारा पता लगाया जाता है और उपयोगकर्ता को वापस रिपोर्ट किया जाता है।

अपवादों के प्रकार

Oracle डेटाबेस में दो प्रकार के PL/SQL अपवाद हैं।

  1. सिस्टम-परिभाषित अपवाद और
  2. उपयोगकर्ता द्वारा परिभाषित अपवाद

सिस्टम-परिभाषित अपवाद

सिस्टम-परिभाषित अपवादों को Oracle सर्वर द्वारा परोक्ष रूप से परिभाषित और अनुरक्षित किया जाता है। इन अपवादों को मुख्य रूप से Oracle मानक पैकेज . में परिभाषित किया गया है . जब भी प्रोग्राम के अंदर कोई अपवाद होता है। Oracle सर्वर अपवादों के उपलब्ध सेट से उपयुक्त अपवाद से मेल खाता है और उसकी पहचान करता है।

सिस्टम परिभाषित अपवादों में प्रमुख रूप से एक नकारात्मक त्रुटि कोड और त्रुटि संदेश होता है। इन त्रुटियों का एक छोटा नाम है जो अपवाद हैंडलर के साथ प्रयोग किया जाता है।

जानकारी बाइट:
ओरेकल त्रुटि कोड और संदेश को अंतिम बार अपवाद के लिए पुनर्प्राप्त करने के लिए SQLCODE और SQLERRM दो उपयोगिता कार्यों का लाभ उठाता है।

उपयोगकर्ता-परिभाषित अपवाद

सिस्टम-परिभाषित अपवाद के विपरीत, उपयोगकर्ता-परिभाषित अपवाद RAISE स्टेटमेंट का उपयोग करके PL/SQL ब्लॉक (अधिक विशेष रूप से BEGIN-END अनुभाग के अंदर) के मुख्य भाग में स्पष्ट रूप से उठाए जाते हैं।

Oracle डेटाबेस में उपयोगकर्ता-परिभाषित अपवाद कैसे घोषित करें।

Oracle डेटाबेस में उपयोगकर्ता-परिभाषित अपवाद घोषित करने के तीन तरीके हैं।

  1. घोषणा अनुभाग में अपवाद प्रकार के एक चर घोषित करके।

आप अपने कोड में अपवाद डेटाटाइप का एक चर घोषित करके उपयोगकर्ता परिभाषित अपवाद घोषित कर सकते हैं और इसे RAISE कथन का उपयोग करके अपने प्रोग्राम में स्पष्ट रूप से बढ़ा सकते हैं और उन्हें अपवाद अनुभाग में संभाल सकते हैं।

  1. PRAGMA EXCEPTION_INIT फ़ंक्शन का उपयोग करके उपयोगकर्ता-परिभाषित अपवाद घोषित करें।

PRAGMA EXCEPTION_INIT फ़ंक्शन का उपयोग करके आप एक गैर-पूर्वनिर्धारित त्रुटि संख्या को EXCEPTION डेटाटाइप के चर के साथ मैप कर सकते हैं। इसका मतलब है कि एक ही फ़ंक्शन का उपयोग करके आप एक मानक त्रुटि के साथ EXCEPTION डेटाटाइप के एक चर को जोड़ सकते हैं।

  1. RAISE_APPLICATION_ERROR विधि।

इस पद्धति का उपयोग करके आप अपने स्वयं के अनुकूलित त्रुटि संख्या और संदेश के साथ एक उपयोगकर्ता परिभाषित अपवाद घोषित कर सकते हैं।

इस खंड के लिए बस इतना ही। आशा है कि आपको Oracle डेटाबेस में अपवाद प्रबंधन का यह संक्षिप्त परिचय पढ़कर अच्छा लगा होगा। इस ब्लॉग में मैंने कुछ सवालों के जवाब देने की कोशिश की है, जिनकी आप अपने Oracle डेटाबेस प्रमाणन के साथ-साथ साक्षात्कार में उम्मीद कर सकते हैं।

अगले ट्यूटोरियल के रूप में बने रहें, हम उपर्युक्त अवधारणाओं को समझाते हुए कुछ अच्छे उदाहरण देंगे जो आपको अपने ज्ञान को बढ़ाने में मदद करेंगे और आपको पीएल/एसक्यूएल अपवाद हैंडलिंग की अवधारणाओं पर एक मजबूत पकड़ प्रदान करेंगे। धन्यवाद और आपका दिन शुभ हो!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle10g SQL पिवट

  2. दिनांक अंतराल के अनुसार बहु-स्तंभ समूह को पुनः प्राप्त करें

  3. ORA-02049 का समस्या निवारण कैसे करें और Oracle के साथ सामान्य रूप से समस्याओं को लॉक करें

  4. फॉरवर्ड क्रॉस संस्करण R12.2 . में ट्रिगर होता है

  5. साफ़ स्क्रीन - Oracle SQL डेवलपर शॉर्टकट?