2012-09-06 13 views
5

में संग्रहीत प्रक्रिया पर अपवाद संदेश कैसे प्राप्त करें I MySQL 5.5 का उपयोग कर रहा हूं।
MySQL 5.6 पर अपवाद संदेश प्राप्त करने के लिए GET DIAGNOSTIC फ़ंक्शन का उपयोग कर रहा है। क्या MySQL 5.5 में कोई समान कार्य है,?
जो प्रोजेक्ट मैं काम कर रहा हूं वह पहले से ही MySQL संस्करण 5.5 का उपयोग कर रहा है।MySQL 5.5

उत्तर

4

आप SHOW ERROR और SHOW WARNING का उपयोग करने का प्रयास कर सकते हैं। पिछले त्रुटि देखते हैं या आप के रूप में इसका इस्तेमाल कर सकते चेतावनी के लिए:

SHOW ERRORS LIMIT 1 -- for SQL-state > 2 
SHOW WARNINGS LIMIT 1 -- for SQL-state 1,2 

आदेश हर त्रुटि लिस्टिंग रोकने के लिए, यदि आप ऐसा तरह एसक्यूएल-त्रुटियों के एक वर्ग को संभाल कर सकते हैं:

SQLWARNING है SQLSTATE मानों की कक्षा के लिए शॉर्टेंड जो '01' के साथ शुरू करते हैं।

एसक्यूएलएसटीएटी मानों की कक्षा के लिए नहीं है जो '02' से शुरू होता है। यह केवल कर्सर के संदर्भ में प्रासंगिक है और यह नियंत्रित करने के लिए प्रयुक्त होता है कि कर्सर डेटा के अंत तक पहुंचने पर क्या होता है सेट। यदि कोई और पंक्ति उपलब्ध नहीं है, तो SQLSTATE मान 02000 के साथ कोई डेटा स्थिति नहीं होती है। इस स्थिति का पता लगाने के लिए, आप इसके लिए हैंडलर सेट कर सकते हैं (या किसी भी स्थिति की स्थिति के लिए)। एक उदाहरण धारा 12.7.5, "कर्सर" में दिखाया गया है। यह स्थिति SELECT के लिए भी होती है ... INTO var_list स्टेटमेंट जो पंक्तियों को पुनर्प्राप्त नहीं करते हैं।

SQLEXCEPTION SQLSTATE मानों की कक्षा के लिए लघुरूप है जो '00', '01', या '02' से शुरू नहीं होता है।

तो एक अपवाद को संभालने के लिए, आप की जरूरत ही क्या करना:

DECLARE EXIT HANDLER FOR SQLSTATE SQLEXCEPTION .....; 

लिंक:

http://dev.mysql.com/doc/refman/5.5/en/signal.html

http://dev.mysql.com/doc/refman/5.0/en/declare-handler.html

+0

मैं इसे करने की कोशिश है, लेकिन त्रुटि दिखाई नहीं दे रही थी। यह केवल खाली पंक्ति दिखाता है। मैंने 'स्क्लेक्स एक्स्टिट हैंडलर' के लिए 'एक्सक्लोर एक्स्ट्रा हैंडलर' के अंदर 'शो त्रुटि' वाक्यविन्यास रखा है, यह गलत है। – Praditha

+0

क्या मुझे केवल संदेश मिल सकता है,? :) – Praditha

+0

आपको स्क्लेक्सेप्शन के लिए 'डेक्लेयर एक्स्ट हैंडलर' में 'शो त्रुटि' शामिल करने की आवश्यकता नहीं है। 'त्रुटि दिखाएं' स्वतंत्र रूप से इस्तेमाल किया जा सकता है। बस इसे अपनी प्रक्रिया में शामिल करें। – heretolearn

संबंधित मुद्दे