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

MySQL-এ স্টোরড প্রসিডিউরে DECLARE দিয়ে ভেরিয়েবল তৈরি করা

MySQL স্টোরড প্রসিডিউর বা ফাংশনের ভেতরে локал ভেরিয়েবল ডিক্লেয়ার করতে DECLARE স্টেটমেন্ট ব্যবহার করা হয়। এটি `BEGIN ... END` ব্লকের শুরুতে লিখতে হয়।

সিনট্যাক্স

DECLARE yourVariableName yourDataType;

উদাহরণ: বর্গফল বের করার প্রসিডিউর

mysql> DELIMITER //
mysql> CREATE PROCEDURE square_demo(IN Value INT)
    BEGIN
        DECLARE magicValue INT;
        SET magicValue = Value;
        SELECT CONCAT('Your Square Value=', magicValue * magicValue) AS Output;
    END //
mysql> DELIMITER ;

প্রসিডিউর কল করা

mysql> CALL square_demo(15);

আউটপুট:

+-----------------------+
| Output                |
+-----------------------+
| Your Square Value=225 |
+-----------------------+

DECLARE-এর নিয়মাবলী

  • শুধু `BEGIN ... END` ব্লকের **শুরুতে** লিখতে হয় (কোনো স্টেটমেন্টের পরে নয়)।
  • একসাথে একাধিক ভেরিয়েবল: DECLARE a, b INT DEFAULT 0;
  • ডিফল্ট মান: DECLARE counter INT DEFAULT 0;
  • স্কোপ: শুধু ওই `BEGIN ... END` ব্লকের ভিতর।

সেশন ভেরিয়েবল (@var) সাথে পার্থক্য

বিষয়DECLARE (লোকাল)@variable (সেশন)
স্কোপপ্রসিডিউর/ফাংশন ব্লকপুরো সেশন
সিনট্যাক্সDECLARE x INT;SET @x = 1;
প্রিফিক্সকোনো প্রিফিক্স নেই@ দিয়ে শুরু

সর্বোত্তম অনুশীলন

  • লজিকের জন্য লোকাল ভেরিয়েবল (DECLARE) ব্যবহার করুন।
  • সেশন-వাইড সেটিং বা ডিবাগের জন্য @variable ব্যবহার করুন।
  1. MySQL Workbench-এ স্টোরড প্রসিজার তৈরি করা

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

  3. MySQL-এ প্রোসিডিউরের ভেতরে ভেরিয়েবল ঘোষণা করা

  4. MySQL স্টোরড প্রোসিডিউরে SHOW CREATE TABLE এক্সিকিউট করা