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

MySQL स्टोर्ड प्रोसीजर में DECLARE वेरिएबल और गणितीय संक्रिया

MySQL स्टोर्ड प्रोसीजर में DECLARE से स्थानीय वेरिएबल घोषित करें, SET से मान असाइन करें, और गणना करें।

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

mysql> DELIMITER //
mysql> CREATE PROCEDURE declare_demo_sp()
    BEGIN
        DECLARE Value1 INT;
        DECLARE Value2 INT;
        SET Value1 = 100;
        SET Value2 = 2000;
        SELECT Value1, Value2, Value1 * Value2 AS MultiplicationResult;
    END //
mysql> DELIMITER ;

कॉल करें

mysql> CALL declare_demo_sp();

आउटपुट:

+--------+--------+----------------------+
| Value1 | Value2 | MultiplicationResult |
+--------+--------+----------------------+
|    100 |   2000 |               200000 |
+--------+--------+----------------------+

व्याख्या

  • DECLARE var_name TYPE → प्रोसीजर-स्थानीय वेरिएबल (सत्र वेरिएबल @var से अलग)।
  • SET var = value → मान असाइन।
  • SELECT ... → परिणाम सेट लौटाता है।
  • DELIMITER // → प्रोसीजर बॉडी में ; उपयोग करने के लिए डिलीमीटर बदलें।

DECLARE vs SET @var

पहलूDECLARE (स्थानीय)SET @var (सत्र)
स्कोपप्रोसीजर/ब्लॉकपूरा सत्र
जीवनकालप्रोसीजर समाप्ति तकसत्र समाप्ति तक
सिंटैक्सDECLARE x INTSET @x = 1
डिफ़ॉल्टNULLNULL

IN/OUT पैरामीटर के साथ

CREATE PROCEDURE calc(IN a INT, IN b INT, OUT sum INT, OUT product INT)
BEGIN
    SET sum = a + b;
    SET product = a * b;
END;
  1. - MySQL में IFNULL() का उपयोग करके NULL और गैर-NULL मानों के साथ गणितीय गणना करना

    MySQL में IFNULL() के साथ NULL-सुरक्षित अंकगणित NULL मानों वाले कॉलम पर गणितीय संचालन करते समय, MySQL NULL लौटाता है। IFNULL() (या COALESCE()) का उपयोग करके गणना से पहले NULL को डिफ़ॉल्ट मान (जैसे 0) से बदलें। उदाहरण: NULL के साथ मान जोड़ना SELECT * FROM DemoTable1462; +--------+--------+ | Value1

  1. - MySQL स्टोर्ड प्रोसीजर में गणितीय संक्रियाएं करें?

    आइए एक स्टोर्ड प्रोसीजर बनाते हैं। यहाँ हम amount*quantity की गणना कर रहे हैं यानी गणितीय संक्रियाएं लागू कर रहे हैं: mysql> delimiter // mysql> create procedure calculation_proc(amount int,quantity int) begin select amount,quantity,(amount*quantity) as Total; end // Query OK, 0 rows affe

  1. - MySQL स्टोर्ड प्रोसीजर में डिलीमीटर का सही उपयोग और मान डालना

    समस्या स्टोर्ड प्रोसीजर बनाते समय डिफ़ॉल्ट डिलीमीटर (;) क्वेरी को जल्दी समाप्त कर देता है। समाधान DELIMITER बदलें, प्रोसीजर बनाएं, फिर डिलीमीटर बहाल करें। उदाहरण टेबल बनाएं: ); स्टोर्ड प्रोसीजर बनाएं DELIMITER ; प्रोसीजर कॉल करें CALL insert_name(Chris, Brown); परिणाम +------------------+---