কম্পিউটার টিউটোরিয়াল

MySQL-এ প্যারামিটারসহ স্টোরড প্রোসিজার তৈরি (IN/OUT)

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 প্যারামিটার ব্যবহার করা যায়।

  1. MySQL-এ স্টোরড প্রোসিজার ব্যবহার করে ডাইনামিক টেবিল তৈরি করা

  2. MySQL-এ স্টোরড প্রসিডিউরে DECLARE কীওয়ার্ড দিয়ে ভেরিয়েবল ডিক্লেয়ার করা

  3. MySQL-এ SELECT কুয়েরি দিয়ে INSERT করা (INSERT ... SELECT)

  4. MySQL-এ CREATE TABLE-এ AUTO_INCREMENT-এর ম্যানুয়াল স্টার্ট ভ্যালু সেট করা (ENGINE=MyISAM)