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

MySQL में स्टोर्ड प्रोसीजर में DECLARE से वेरिएबल कैसे बनाएं?

MySQL में स्टोर्ड प्रोसीजर के अंदर लोकल वेरिएबल घोषित करने के लिए DECLARE स्टेटमेंट का उपयोग करें। ये वेरिएबल केवल प्रोसीजर के BEGIN...END ब्लॉक के भीतर दृश्यमान होते हैं और इंटरमीडिएट गणना, अस्थायी मान स्टोर करने के लिए उपयोगी हैं।

सिंटैक्स

DECLARE variable_name data_type [DEFAULT default_value];

उदाहरण: वर्ग गणना करने वाला स्टोर्ड प्रोसीजर

स्टोर्ड प्रोसीजर बनाएं:

mysql> DELIMITER //
mysql> CREATE PROCEDURE square_demo(IN Value INT)
BEGIN
    DECLARE magicValue INT;
    SET magicValue = Value;
    SELECT CONCAT('Your Square Value=', magicValue * magicValue) AS Output;
END //
mysql> DELIMITER ;

प्रोसीजर कॉल करें:

mysql> CALL square_demo(15);

आउटपुट:

+-----------------------+
| Output                |
+-----------------------+
| Your Square Value=225 |
+-----------------------+

मुख्य बिंदु

  • DECLARE स्थान: BEGIN के तुरंत बाद, किसी अन्य स्टेटमेंट से पहले
  • स्कोप: केवल उस BEGIN...END ब्लॉक के भीतर
  • आरंभीकरण: DEFAULT क्लॉज़ या SET स्टेटमेंट से
  • डेटा प्रकार: कोई भी वैध MySQL डेटा प्रकार

एकाधिक वेरिएबल घोषित करना

DECLARE x INT DEFAULT 0;
DECLARE y, z VARCHAR(50) DEFAULT 'test';
DECLARE dt DATETIME DEFAULT CURRENT_TIMESTAMP;

वेरिएबल असाइनमेंट

-- SET के साथ
SET var_name = expression;

-- SELECT INTO के साथ (क्वेरी परिणाम से)
SELECT COUNT(*) INTO var_name FROM table WHERE condition;

उन्नत उदाहरण: लूप में वेरिएबल उपयोग

CREATE PROCEDURE sum_loop(IN n INT)
BEGIN
    DECLARE i INT DEFAULT 1;
    DECLARE total INT DEFAULT 0;
    
    WHILE i <= n DO
        SET total = total + i;
        SET i = i + 1;
    END WHILE;
    
    SELECT total AS sum_1_to_n;
END

यूज़र-डिफ़ाइंड वेरिएबल (@var) vs लोकल वेरिएबल

विशेषता@user_variableDECLARE variable
स्कोपसेशनप्रोसीजर ब्लॉक
घोषणाआवश्यक नहींआवश्यक (DECLARE)
टाइप सुरक्षानहींहां
प्रदर्शनथोड़ा धीमातेज़

स्टोर्ड प्रोसीजर में हमेशा DECLARE (लोकल वेरिएबल) प्राथमिकता दें; @ वेरिएबल सेशन-लेवल सेटिंग्स के लिए उपयोग करें।

  1. MySQL वर्कबेंच का उपयोग करके स्टोर्ड प्रोसीजर कैसे बनाएं? MySQL वर्कबेंच का उपयोग करके स्टोर्ड प्रोसीजर कैसे बनाएं?

    आइए पहले एक स्टोर्ड प्रोसीजर बनाते हैं। MySQL वर्कबेंच का उपयोग करके स्टोर्ड प्रोसीजर बनाने का क्वेरी: use business; DELIMITER // DROP PROCEDURE IF EXISTS SP_GETMESSAGE; CREATE PROCEDURE SP_GETMESSAGE() BEGIN DECLARE MESSAGE VARCHAR(100); SET MESSAGE=HELLO; SELECT CONCAT(MESSAGE, ,MYSQL!!!!); END //

  1. - MySQL में प्रोसीजर के अंदर वेरिएबल कैसे घोषित करें?

    परिचय MySQL स्टोर्ड प्रोसीजर में DECLARE स्टेटमेंट का उपयोग करके स्थानीय वेरिएबल घोषित किए जाते हैं। वेरिएबल घोषणा प्रोसीजर बॉडी के शुरुआत में होनी चाहिए (किसी अन्य स्टेटमेंट से पहले)। स्टोर्ड प्रोसीजर बनाना DELIMITER ; घटक व्याख्या: DELIMITER // - डिलीमीटर बदलें ताकि ; प्रोसीजर के अंदर उपयोग हो

  1. - MySQL स्टोर्ड प्रोसीजर में SHOW CREATE TABLE निष्पादित करें

    डायनामिक SQL से स्टोर्ड प्रोसीजर में SHOW CREATE TABLE चलाएं टेबल नाम पैरामीटर लेकर SHOW CREATE TABLE को डायनामिक रूप से निष्पादित करने वाला स्टोर्ड प्रोसीजर बनाएं। टेबल बनाएं: mysql> create table DemoTable2011 ( StudentId int NOT NULL AUTO_INCREMENT, StudentName varchar(20), StudentAge int, Stud