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) जोड़ें।