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

MySQL-এ স্টোরড প্রসিডিউরে ডাইনামিক SQL কোয়ারি ইমপ্লিমেন্ট করা

MySQL-এ স্টোরড প্রসিডিউরের ভেতরে ডাইনামিক SQL চালাতে PREPARE, EXECUTE, DEALLOCATE PREPARE স্টেটমেন্টগুলো ব্যবহার করা হয়।

টেবিল ও ডেটা

mysql> CREATE TABLE DemoTable2033 (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name VARCHAR(20)
    -> ); 
Query OK, 0 rows affected (1.61 sec)

mysql> INSERT INTO DemoTable2033 (Name) VALUES ('Chris'), ('Bob'), ('David'), ('Mike');
mysql> SELECT * FROM DemoTable2033;
+----+-------+
| Id | Name  |
+----+-------+
| 1  | Chris |
| 2  | Bob   |
| 3  | David |
| 4  | Mike  |
+----+-------+

ডাইনামিক SQL সহ প্রসিডিউর

mysql> DELIMITER //
mysql> CREATE PROCEDURE dynamic_query()
    -> BEGIN
    ->   SET @query = CONCAT("SELECT * FROM DemoTable2033 WHERE Id=3");
    ->   PREPARE st FROM @query;
    ->   EXECUTE st;
    ->   DEALLOCATE PREPARE st;
    -> END //
Query OK, 0 rows affected (0.13 sec)
mysql> DELIMITER ;

কল করা

mysql> CALL dynamic_query();
+----+-------+
| Id | Name  |
+----+-------+
| 3  | David |
+----+-------+

ব্যাখ্যা: @query স্ট্রিং হিসেবে কোয়ারি বানায়। PREPARE সেটি কম্পাইল করে। EXECUTE চালায়। DEALLOCATE PREPARE মেমরি মুক্ত করে। প্যারামিটারাইজড কোয়ারির জন্য ? প্লেসহোল্ডার ব্যবহার করা যায়।

  1. MySQL 저장 프로시저에서 현재 데이터베이스 이름 가져오기

  2. MySQL 저장 프로시저에서 IF-ELSE 조건문 구현하기

  3. MySQL স্টোরড প্রোসিডিউরে ডাইনামিক SQL এবং LIKE ক্লজ ব্যবহার করে নতুন টেবিল তৈরি করা

  4. MySQL-এ স্টোরড প্রসিডিউরে ডাইনামিক SQL কোয়ারি ইমপ্লিমেন্ট করা