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

MySQL स्टोर्ड प्रोसीजर में OUT पैरामीटर और SELECT INTO का उपयोग

MySQL स्टोर्ड प्रोसीजर में OUT पैरामीटर का उपयोग करके क्वेरी परिणाम (जैसे योग) को कॉलर को वापस कर सकते हैं। SELECT ... INTO वेरिएबल में मान असाइन करता है।

टेबल बनाएं

mysql> CREATE TABLE DemoTable1860 (Amount INT);

डेटा डालें

mysql> INSERT INTO DemoTable1860 VALUES(1590), (410), (3000);

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

mysql> DELIMITER //
mysql> CREATE PROCEDURE use_of_out_parameter(OUT TotalAmount INT)
    BEGIN
        SELECT SUM(Amount) INTO TotalAmount FROM DemoTable1860;
    END //
mysql> DELIMITER ;

कॉल करें और परिणाम देखें

mysql> CALL use_of_out_parameter(@TotalAmount);
Query OK, 1 row affected (0.00 sec)

mysql> SELECT @TotalAmount;
+--------------+
| @TotalAmount |
+--------------+
|         5000 |
+--------------+

पैरामीटर मोड

मोडविवरण
INइनपुट (डिफ़ॉल्ट), प्रोसीजर अंदर बदल सकता है लेकिन कॉलर प्रभावित नहीं
OUTआउटपुट, प्रोसीजर को मान असाइन करना चाहिए, कॉलर को वापस मिलता है
INOUTदोनों: कॉलर मान देता है, प्रोसीजर बदलता है, कॉलर को नया मान मिलता है

INOUT उदाहरण

CREATE PROCEDURE double_value(INOUT val INT)
BEGIN
    SET val = val * 2;
END;

SET @x = 5;
CALL double_value(@x);
SELECT @x; -- 10

सर्वोत्तम अभ्यास

  • DELIMITER बदलें प्रोसीजर परिभाषा के लिए (; विरोध से बचने के लिए)।
  • OUT पैरामीटर के लिए सार्थक नाम उपयोग करें।
  • प्रोसीजर में त्रुटि हैंडलिंग (DECLARE ... HANDLER) जोड़ें।
  1. - MySQL टेबल से डेटा डिलीट करने के बाद ऑटो इन्क्रीमेंट को 1 से कैसे शुरू करें?

    इसके लिए आप TRUNCATE TABLE कमांड का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1796 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें

  1. - MySQL स्टोर्ड प्रोसीजर से पूरी टेबल वापस करना

    पैरामीटर लेकर पूरी टेबल डेटा लौटाने वाला स्टोर्ड प्रोसीजर टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1971 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20), StudentPassword int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1971(Stude

  1. - Python में MySQL का उपयोग करके टेबल से सभी डेटा चुनना

    MySQL में टेबल पंक्तियों और कॉलम से बने होते हैं। कॉलम फ़ील्ड निर्दिष्ट करते हैं और पंक्तियाँ डेटा के रिकॉर्ड निर्दिष्ट करती हैं। टेबल में डेटा को उपयोग के लिए लाने की आवश्यकता होती है। हमें कभी-कभी MySQL टेबल से सभी डेटा लाने की आवश्यकता होती है। SELECT * स्टेटमेंट का उपयोग करके टेबल से सभी पंक्ति