Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

स्टोर्ड प्रोसीजर में MySQL हैंडलर कैसे लिखें?


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

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SELECT 'got an error';

यह हैंडलर एक त्रुटि संदेश देगा और निष्पादन जारी रखेगा।

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET got_error=1;

यह हैंडलर got_error वेरिएबल को 1 सेट करेगा और निष्पादन जारी रखेगा।

DECLARE EXIT HANDLER FOR SQLEXCEPTION SET got_error=1;

यह हैंडलर got_error वेरिएबल को 1 सेट करेगा और निष्पादन समाप्त करेगा।

DECLARE EXIT HANDLER FOR SQLSTATE '23000' SET got_error=1;

यह हैंडलर डिफ़ॉल्ट MySQL त्रुटि संदेश देगा और got_error वेरिएबल को 1 सेट करके निष्पादन समाप्त करेगा।


  1. - एक MySQL स्टोर्ड प्रोसीजर दूसरे MySQL स्टोर्ड प्रोसीजर को अपने अंदर कैसे कॉल कर सकता है?

    यह बिल्कुल संभव है कि एक MySQL स्टोर्ड प्रोसीजर दूसरे MySQL स्टोर्ड प्रोसीजर को अपने अंदर कॉल कर सकता है। इसे दर्शाने के लिए, हम एक उदाहरण ले रहे हैं जिसमें एक स्टोर्ड प्रोसीजर दूसरे स्टोर्ड प्रोसीजर को कॉल करके last_insert_id का पता लगाएगा। उदाहरण BEGIN insert into employee.tbl(name) values (

  1. - MySQL स्टोर्ड प्रोसीजर में FOR LOOP कैसे उपयोग करें?

    MySQL में FOR LOOP नहीं, WHILE LOOP उपयोग करें MySQL स्टोर्ड प्रोसीजर में **FOR LOOP नहीं होता** (Oracle PL/SQL के विपरीत)। इसके बजाय WHILE या LOOP ... LEAVE निर्माण का उपयोग करें। WHILE LOOP पैटर्न (सिफारिश) DELIMITER // CREATE PROCEDURE YourProcedureName() BEGIN DECLARE counter INT DEFAULT 1;

  1. - MySQL स्टोर्ड प्रोसीजर में IF...ELSE का उपयोग करके शर्तें सेट करना

    MySQL स्टोर्ड प्रोसीजर में IF...ELSE सशर्त तर्क MySQL स्टोर्ड प्रोसीजर IF...ELSE स्टेटमेंट का उपयोग करके सशर्त तर्क का समर्थन करते हैं, जिससे पैरामीटर मानों के आधार पर डायनामिक निष्पादन पथ सक्षम होते हैं। सिंटैक्स IF yourCondition THEN yourStatement1; ELSE yourStatement2; END IF; पूर्ण उदा