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

MySQL ট্রিগারে DELIMITER // এর কাজ

MySQL ট্রিগারে DELIMITER // স্টেটমেন্টের ডিলিমিটার সেমিকোলন (;) থেকে ডবল স্ল্যাশ (//) এ পরিবর্তন করে। এর ফলে ট্রিগারের ভেতরে একাধিক সেমিকোলনযুক্ত স্টেটমেন্ট লেখা যায়।

উদাহরণ: কর্মচারীর বেতন ১০০০-এর কম হলে স্বয়ংক্রিয়ভাবে ১০০০০ সেট করার ট্রিগার।

টেবিল তৈরি:

mysql> CREATE TABLE EmployeeTable (
    -> EmployeeId INT,
    -> EmployeeName VARCHAR(100),
    -> EmployeeSalary FLOAT
    -> );

ট্রিগার তৈরি:

mysql> DELIMITER //
mysql> CREATE TRIGGER CheckSalary BEFORE INSERT ON EmployeeTable
    -> FOR EACH ROW
    -> BEGIN
    ->     IF NEW.EmployeeSalary < 1000 THEN
    ->         SET NEW.EmployeeSalary = 10000;
    ->     END IF;
    -> END //
mysql> DELIMITER ;

টেস্ট করুন (বেতন ৫০০ দিলে):

mysql> INSERT INTO EmployeeTable VALUES(1, 'Carol', 500);

ফলাফল:

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
| 1          | Carol        | 10000          |
+------------+--------------+----------------+

বেতন ১০০০ বা তার বেশি দিলে যেন যেনই থাকে:

mysql> TRUNCATE TABLE EmployeeTable;
mysql> INSERT INTO EmployeeTable VALUES(2, 'Bob', 1000);
mysql> INSERT INTO EmployeeTable VALUES(3, 'Carol', 2500);
mysql> SELECT * FROM EmployeeTable;

ফলাফল:

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
| 2          | Bob          | 1000           |
| 3          | Carol        | 2500           |
+------------+--------------+----------------+
  1. MySQL কোয়েরিতে স্ল্যাশ (/) এর অর্থ — ভাগ করা

  2. MySQL-এ LIMIT 0 দিয়ে ভয়েড কোয়েরি (Void Query) চালানো

  3. MySQL SELECT (COLNAME) তে প্যারেনথেসিসের অর্থ কী?

  4. MySQL-এ SELECT @@identity কী কাজ করে?