क्या Raise_application_error रोलबैक करता है?
क्या Raise_application_error रोलबैक करता है?

वीडियो: क्या Raise_application_error रोलबैक करता है?

वीडियो: क्या Raise_application_error रोलबैक करता है?
वीडियो: 9. RAISE_APPLICATION_ERROR के साथ ऐप-विशिष्ट त्रुटि संदेश भेजें। 2024, मई
Anonim

एक ट्रिगर के अंदर a RAISE_APPLICATION_ERROR करता है प्रदर्शन नहीं करना रोलबैक , यह वर्तमान ऑपरेशन को निरस्त करता है, यानी एक एकल अद्यतन/सम्मिलित करें/हटाएं। ए रोलबैक वर्तमान लेन-देन (या दिए गए सेवपॉइंट तक) के सभी परिवर्तनों को वापस कर देता है, यह अलग है।

ऐसे में Raise_application_error क्या है?

के जवाब raise_application_error वास्तव में ओरेकल द्वारा परिभाषित एक प्रक्रिया है जो डेवलपर को अपवाद उठाने और त्रुटि संख्या और संदेश को प्रक्रिया के साथ जोड़ने की अनुमति देती है। Oracle प्रदान करता है raise_application_error प्रक्रिया आपको अपने अनुप्रयोगों के भीतर कस्टम त्रुटि संख्या बढ़ाने की अनुमति देती है।

इसके अलावा, जब ट्रिगर के अंदर रोलबैक स्टेटमेंट निष्पादित किया जाता है तो क्या होगा? जब उत्प्रेरक आग वर्तमान लेनदेन अभी भी पूरा नहीं हुआ है। चूंकि COMMIT उन्हें अनुमति देने वाले लेनदेन को समाप्त कर देता है ट्रिगर्स में काम की इकाई को तोड़ो। तो बदल जाता है एक ट्रिगर में निष्पादित स्वामित्व वाले लेन-देन द्वारा प्रतिबद्ध (या रोल बैक) किया जाता है, जिसने डीएमएल जारी किया था जिसने इसे निकाल दिया था उत्प्रेरक.

उसके बाद, Pragma Exception_init और Raise_application_error में क्या अंतर है?

प्रगति अपवाद init एक Oracle त्रुटि को नामित अपवाद में बदल देता है। यदि कोई डेटाबेस ऑपरेशन ORA-00054 "संसाधन व्यस्त" उठाता है, तो आपको कोड करना होगा:. राइज़_एप्लिकेशन_त्रुटि एक त्रुटि बढ़ाने के लिए प्रयोग किया जाता है - अपवाद_इनिट त्रुटियों से निपटने के लिए प्रयोग किया जाता है (मुझे लगता है कि आप कह सकते हैं कि वे विपरीत हैं में एक रास्ता)।

स्क्लेरम क्या है?

SQLERRM समारोह। कार्यक्रम SQLERRM इसके त्रुटि-संख्या तर्क से जुड़े त्रुटि संदेश को लौटाता है। यदि तर्क छोड़ दिया जाता है, तो यह SQLCODE के वर्तमान मान से जुड़ा त्रुटि संदेश देता है। SQLERRM बिना किसी तर्क के केवल एक अपवाद हैंडलर में उपयोगी है।

सिफारिश की: