MySQL 5.7.2+ আমাদের একটি টেবিলে একই ইভেন্ট এবং অ্যাকশন সময়ের জন্য একাধিক ট্রিগার তৈরি করতে দেয়। ঘটনা ঘটলে উভয় ট্রিগার ক্রমানুসারে সক্রিয় হবে। এটি একটি উদাহরণের সাহায্যে বোঝা যায় -
উদাহরণ
এই উদাহরণে, আমরা আপডেটের আগে একই ইভেন্টের জন্য একাধিক ট্রিগার তৈরি করছি। ট্রিগারের নাম হল 'Student detail_before_update' এবং 'Student detail_before_update2'। একটি ঘটনা ঘটলে তারা ক্রমানুসারে সক্রিয় হবে। আমরা এই ট্রিগারগুলি 'ছাত্র_বিস্তারিত' টেবিলে তৈরি করছি যাতে নিম্নলিখিত ডেটা রয়েছে −
mysql> Student_detail থেকে * নির্বাচন করুন;+------------+-------------+------------+ | ছাত্র | ছাত্রের নাম | ঠিকানা |+------------+------------+------------+| 100 | গৌরব | দিল্লী || 101 | রমন | সিমলা || 103 | রাহুল | জয়পুর || 104 | রাম | চণ্ডীগড় || 105 | মোহন | চণ্ডীগড় |+------------+------------+------------+5 সারি সেটে (0.06 সেকেন্ড) mysql> ডেলিমিটার //
এখন নিম্নলিখিত ক্যোয়ারীটির সাহায্যে, আমরা প্রথম ট্রিগার তৈরি করব, যা আগের মত একই ক্যোয়ারী দ্বারা তৈরি করা হবে।
mysql> ট্রিগার স্টুডেন্টডেটেল তৈরি করুন -> USER() কে AUSER এ নির্বাচন করুন; ->Student_detail_updated(studentid, Updated_date,Updated_by) মান (OLD.studentid,NOW(),AUSER) ঢোকান; -> শেষ; //কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.17 সেকেন্ড)mysql> আপডেট করুন student_detail SET ঠিকানা ='লুধিয়ানা' যেখানে studentName ='Ram'; কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.15 সেকেন্ড) সারি মিলেছে:1 পরিবর্তিত:1 সতর্কতা:0প্রে>উপরে তৈরি ট্রিগার চালু করার পর আমরা নিম্নলিখিত ফলাফল পেয়েছি -
mysql> student_detail_updated থেকে * সিলেক্ট করুন;+------------------------------------- -----------+| ছাত্র | আপডেট_তারিখ | আপডেট_দ্বারা |+------------+----------------------+------------ ---+| 104 | 2017-11-22 16:17:16 | root@localhost |+------------+----------------------+------------ -----+1 সারি সেটে (0.00 সেকেন্ড)এখন, একই ইভেন্টের দ্বিতীয় ট্রিগার এবং কর্ম সময় নিম্নরূপ তৈরি করা যেতে পারে −
mysql> ট্রিগার তৈরি করুন studentdetail_before_update2 -> আপডেটের আগে -> অন Student_detail -> প্রতিটি সারির জন্য অনুসরণ করুন studentdetail_before_update -> শুরু করুন -> AUSER Varchar(40); -> USER() কে AUSER এ নির্বাচন করুন; -> স্টুডেন্ট_ডিটেইল_আপডেটেড(ছাত্র, আপডেট_তারিখ,আপডেটেড_বাই) মান (OLD.studentid,NOW(),AUSER) ঢোকান; -> শেষ; //কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.15 সেকেন্ড)উপরের ট্রিগারটি প্রথম ট্রিগারের পরে সক্রিয় হবে কারণ আমরা 'অনুসরণ' কীওয়ার্ড ব্যবহার করছি।
mysql> আপডেট করুন Student_detail SET ঠিকানা ='পাতিয়ালা' যেখানে ছাত্র নাম ='মোহন'; কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.08 সেকেন্ড) সারি মিলেছে:1 পরিবর্তিত:1 সতর্কতা:0এখন, যখন আমরা মান আপডেট করি, নিম্নলিখিত ফলাফল সেটটি একই ইভেন্ট এবং অ্যাকশন সময়ের জন্য দুটি সারি দেখাচ্ছে। দ্বিতীয় সারি studentdetail_before_update ট্রিগারের পরে মান উপস্থাপন করে এবং তৃতীয় সারি studentdetail_before_update2 ট্রিগারের পরে মান উপস্থাপন করে।
mysql> student_detail_updated থেকে * সিলেক্ট করুন;+------------------------------------- -----------+| ছাত্র | আপডেট_তারিখ | আপডেট_দ্বারা |+------------+----------------------+------------ ---+| 104 | 2017-11-22 16:17:16 | root@localhost || 105 | 2017-11-22 16:19:28 | root@localhost || 105 | 2017-11-22 16:19:28 | root@localhost |+------------+----------------------+------------ -----+3 সারি সেটে (0.00 সেকেন্ড)