ট্রিগার ডিফিনিশনে ইনসার্ট, আপডেট বা ডিলিট হওয়া সারির কলাম রেফার করা যায়। OLD এবং NEW কীওয়ার্ড কলাম এক্সেসের পদ্ধতি:
- মূল সারির মান রেফার করতে কলামের নামের পূর্বে OLD কোয়ালিফায়ার লাগাতে হয়।
- নতুন সারির মান রেফার করতে কলামের নামের পূর্বে NEW কোয়ালিফায়ার লাগাতে হয়।
ট্রিগারিং ইভেন্ট নির্ধারণ করে কোনটি অনুমোদিত:
- INSERT ট্রিগার: NEW.column_name নতুন সারিতে ইনসার্ট হওয়া কলাম মান বোঝায়। এখানে OLD অনুমোদিত নয়।
- DELETE ট্রিগার: OLD.column_name ডিলিট হওয়া সারির কলাম মান বোঝায়। এখানে NEW অনুমোদিত নয়।
- UPDATE ট্রিগার: OLD.column_name এবং NEW.column_name ক্রমশ আপডেটের পূর্বে ও পরে কলাম মান বোঝায়।
অন্য কথায়, OLD রিড-অনলি ফ্যাশনে ব্যবহার করা উচিত এবং NEW কলাম মান পড়তে বা পরিবর্তন করতে ব্যবহার করা যায়।
ট্রিগারে OLD কীওয়ার্ডের ব্যবহার
নিচের DELETE ট্রিগার উদাহরণে OLD-এর ব্যবহার:
mysql> CREATE TRIGGER studentinfo_after_delete -> AFTER DELETE -> ON student_info -> FOR EACH ROW FOLLOWS -> BEGIN -> DECLARE vuser varchar(30); -> SELECT USER() into vuser; -> INSERT INTO student_info_deleted(id,deleted_date,deleted_by) VALUES(OLD.id,SYSDATE(),vuser); -> END; // Query OK, 0 rows affected (0.25 sec)
ট্রিগারে NEW কীওয়ার্ডের ব্যবহার
নিচের INSERT ট্রিগার উদাহরণে NEW-এর ব্যবহার:
mysql> Create Trigger before_inser_studentage BEFORE INSERT ON student_age FOR EACH ROW BEGIN IF NEW.age < 0 THEN SET NEW.age = 0; END IF; END // Query OK, 0 rows affected (0.30 sec)