BEFORE INSERT ट्रिगर बनाएं जो पहली टेबल में सम्मिलन होने पर स्वचालित रूप से दूसरी टेबल में एक पंक्ति डालता है।
ट्रिगर सिंटैक्स
DELIMITER //
CREATE TRIGGER trigger_name BEFORE INSERT ON table1
FOR EACH ROW
BEGIN
INSERT INTO table2 VALUES (val1, val2, ...);
END; //
DELIMITER ;
टेबल बनाना
mysql> CREATE TABLE DemoTable1 (StudentId INT, StudentName VARCHAR(40));
mysql> CREATE TABLE DemoTable2 (Id INT, Name VARCHAR(40));
ट्रिगर बनाना
mysql> DELIMITER //
mysql> CREATE TRIGGER afterinserttrigger BEFORE INSERT ON DemoTable1
FOR EACH ROW
BEGIN
INSERT INTO DemoTable2 VALUES (10, 'Chris');
END; //
mysql> DELIMITER ;
पहली टेबल में डालें
mysql> INSERT INTO DemoTable1 VALUES(1, 'David');
Query OK, 1 row affected (0.21 sec)
पहली टेबल जांचें
mysql> SELECT * FROM DemoTable1;
आउटपुट:
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1 | David |
+-----------+-------------+
दूसरी टेबल जांचें (ट्रिगर द्वारा भरा गया)
mysql> SELECT * FROM DemoTable2;
आउटपुट:
+------+-------+
| Id | Name |
+------+-------+
| 10 | Chris |
+------+-------+
1 row in set (0.00 sec)
नोट: यह उदाहरण हार्डकोडेड मान डालता है। वास्तविक उपयोग में, सम्मिलित पंक्ति के मानों तक पहुँचने के लिए NEW.column_name का उपयोग करें: INSERT INTO DemoTable2 VALUES (NEW.StudentId, NEW.StudentName);।