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

MySQL-এ স্টোরড প্রসিডিউর ব্যবহার করে নির্দিষ্ট রেঞ্জের মান অটো ইনসার্ট করা

MySQL-এ স্টোরড প্রসিডিউর (Stored Procedure) এবং লুপ (WHILE) ব্যবহার করে নির্দিষ্ট রেঞ্জের মান (যেমন ১০ থেকে ২০) টেবিলে অটোমেটিক ইনসার্ট করা যায়।

টেবিল তৈরি

mysql> CREATE TABLE DemoTable (
    -> Value INT
    -> );
Query OK, 0 rows affected (0.55 sec)

স্টোরড প্রসিডিউর তৈরি (১০ থেকে ২০ পর্যন্ত)

mysql> DELIMITER //
mysql> CREATE PROCEDURE AutoInsertValuesToTable()
    -> BEGIN
    ->   DECLARE startingRange INT DEFAULT 10;
    ->   WHILE startingRange <= 20 DO
    ->     INSERT INTO DemoTable(Value) VALUES(startingRange);
    ->     SET startingRange = startingRange + 1;
    ->   END WHILE;
    -> END
    -> //
Query OK, 0 rows affected (0.23 sec)
mysql> DELIMITER ;

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

mysql> CALL AutoInsertValuesToTable();
Query OK, 1 row affected (1.10 sec)

ইনসার্ট হওয়া ডেটা যাচাই

mysql> SELECT * FROM DemoTable;

আউটপুট

+-------+
| Value |
+-------+
| 10    |
| 11    |
| 12    |
| 13    |
| 14    |
| 15    |
| 16    |
| 17    |
| 18    |
| 19    |
| 20    |
+-------+
11 rows in set (0.00 sec)

ব্যাখ্যা:

  • DELIMITER // — ডিফল্ট ডিলিমিটার ; কে // এ পরিবর্তন করে, যাতে প্রসিডিউর বডিতে ; ব্যবহার করা যায়।
  • DECLARE startingRange INT DEFAULT 10; — ভেরিয়েবল ঘোষণা এবং শুরু মান।
  • WHILE ... DO ... END WHILE — লুপ যা ২০ পর্যন্ত চলে।
  • DELIMITER ; — ডিলিমিটার আবার ; এ ফেরত আনা।

সতর্কতা: বড় রেঞ্জের জন্য লুপ ধীর হতে পারে। সেট-বেসড আপরেশন (যেমন রিকার্সিভ CTE বা সিকোয়েন্স টেবিল) দ্রুত হয়।

  1. MySQL টেবিলে JSON ডেটা ইনসার্ট করার পদ্ধতি

  2. MySQL-এ AUTO_INCREMENT টেবিলে INSERT INTO SELECT ব্যবহার করা

  3. MySQL-এ LEFT JOIN ব্যবহার করে টেবিল A-র ডেটা টেবিল B-এ না থাকলে টেবিল C-তে ইনসার্ট করা

  4. MySQL-এ INSERT INTO SELECT ব্যবহার করে অন্য টেবিল থেকে ডেটা কপি করা