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

MySQL-এ স্টোরড প্রসিডিউর ব্যবহার করে দুটি টেবিলে একসাথে ইনসার্ট করুন

হ্যাঁ, স্টোরড প্রসিডিউর ব্যবহার করে একক ক্যোয়েরিতে দুটি টেবিলে ইনসার্ট করা যায়।

প্রথম টেবিল তৈরি করা

mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(20) ); Query OK, 0 rows affected (0.56 sec)

দ্বিতীয় টেবিল তৈরি করা

mysql> create table DemoTable2 ( ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(20), ClientAge int ); Query OK, 0 rows affected (0.76 sec)

স্টোরড প্রসিডিউর তৈরি করা

mysql> DELIMITER // mysql> CREATE PROCEDURE insert_into_twoTables(name varchar(100),age int) BEGIN INSERT INTO DemoTable(StudentFirstName) VALUES(name); INSERT INTO DemoTable2(ClientName,ClientAge) VALUES(name,age); END // Query OK, 0 rows affected (0.14 sec) mysql> DELIMITER ;

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

mysql> call insert_into_twoTables('Tom',38); Query OK, 1 row affected, 1 warning (0.41 sec)

প্রথম টেবিল চেক করা

mysql> select * from DemoTable;
+-----------+------------------+ | StudentId | StudentFirstName | +-----------+------------------+ | 1 | Tom | +-----------+------------------+ 1 row in set (0.00 sec)

দ্বিতীয় টেবিল চেক করা

mysql> select * from DemoTable2;
+----------+------------+-----------+ | ClientId | ClientName | ClientAge | +----------+------------+-----------+ | 1 | Tom | 38 | +----------+------------+-----------+ 1 row in set (0.00 sec)

ব্যাখ্যা: স্টোরড প্রসিডিউর একাধিক SQL স্টেটমেন্ট ক্যাপসুলেট করে। DELIMITER পরিবর্তন করে প্রসিডিউর বডি লেখা হয়। CALL দিয়ে এক্সিকিউট করা হয়।

  1. MySQL স্টোরড প্রসিডিউরে ডেটা ইনসার্ট করা

  2. MySQL-এ একাধিক টেবিল থেকে ডেটা নিয়ে একটি টেবিলে ইনসার্ট করা (CROSS JOIN)

  3. MySQL-এ একক INSERT স্টেটমেন্টে একাধিক রো দ্রুত ইনসার্ট করা

  4. MySQL-এ সঠিকভাবে DELIMITER ব্যবহার করে স্টোরড প্রসিডিউরে মান ইনসার্ট করা