MySQL-এ স্টোরড প্রোসিজার তৈরি করতে CREATE PROCEDURE ব্যবহার করুন। ইনপুটের জন্য IN, আউটপুটের জন্য OUT প্যারামিটার ডিক্লেয়ার করুন। প্রোসিজার কল করার পর OUT প্যারামিটারের মান সেশন ভ্যারিয়েবল (@var) এ পাওয়া যায়।
সিনট্যাক্স
DELIMITER //
CREATE PROCEDURE `proc_name` (IN `in_param` INT, OUT `out_param` INT)
BEGIN
-- লজিক
SET `out_param` = (SELECT `col` FROM `table` WHERE `col` = `in_param`);
END //
DELIMITER ;
উদাহরণ: মান টেবিলে আছে কিনা চেক
CREATE TABLE `SumOfAll` (`Amount` INT);
INSERT INTO `SumOfAll` VALUES (100), (330), (450), (400);
DELIMITER //
CREATE PROCEDURE `sp_CheckValue` (IN `value1` INT, OUT `value2` INT)
BEGIN
SET `value2` = (SELECT `Amount` FROM `SumOfAll` WHERE `Amount` = `value1`);
END //
DELIMITER ;
কল করুন
-- কেস ১: মান নেই (300)
CALL `sp_CheckValue`(300, @isPresent);
SELECT @isPresent; -- NULL
-- কেস ২: মান আছে (330)
CALL `sp_CheckValue`(330, @isPresent);
SELECT @isPresent; -- 330
নোট: OUT প্যারামিটার শুধু প্রোসিজারের ভিতরে সেট হয়, কলার কাছে সেশন ভ্যারিয়েবল (@var) এর মাধ্যমে পৌঁছায়। একাধিক OUT প্যারামিটার ব্যবহার করা যায়।