IN और OUT पैरामीटर के साथ स्टोर्ड प्रोसीजर
MySQL स्टोर्ड प्रोसीजर में IN (इनपुट), OUT (आउटपुट), और INOUT (दोनों) पैरामीटर हो सकते हैं।
सिंटैक्स
DELIMITER //
CREATE PROCEDURE proc_name(IN param1 TYPE, OUT param2 TYPE)
BEGIN
-- स्टेटमेंट्स
SET param2 = ...;
END //
DELIMITER ;
उदाहरण: मान मौजूद है या नहीं जांचें
mysql> CREATE TABLE SumOfAll (Amount INT); mysql> INSERT INTO SumOfAll VALUES (100), (330), (450), (400);
mysql> DELIMITER //
mysql> CREATE PROCEDURE sp_CheckValue(IN value1 INT, OUT value2 INT)
-> BEGIN
-> SET value2 = (SELECT Amount FROM SumOfAll WHERE Amount = value1);
-> END //
-> DELIMITER ;
केस 1: मान मौजूद नहीं (300)
mysql> CALL sp_CheckValue(300, @isPresent); mysql> SELECT @isPresent;
+------------+ | @isPresent | +------------+ | NULL | +------------+
केस 2: मान मौजूद (330)
mysql> CALL sp_CheckValue(330, @isPresent); mysql> SELECT @isPresent;
+------------+ | @isPresent | +------------+ | 330 | +------------+
मुख्य बिंदु: OUT पैरामीटर मान प्राप्त करने के लिए उपयोगकर्ता वेरिएबल (@var) पास करें। प्रोसीजर के अंदर SET से मान निर्दिष्ट करें।