Trigger ในที่นี้หมายถึง Database Trigger ซึ่งก็คือคำสั่งพิเศษ หรือ Stored procedure ของ SQL ที่จะเริ่มทำงานเมื่อมีเหตุการณ์ใด เหตุการณ์หนึ่งเกิดขึ้น Database หรือ Table  ยกตัวอย่างเช่น เมื่อมีการ Insert, Update และ Delete ข้อมูลใน Table

ตัวอย่างสถานการณ์ที่จะนำ Trigger มาใช้ประโยชน์

ณ บริษัทเอกชนแห่งหนึ่งมีฐานข้อมูลบุคลากร (HR) ดูแลโดยฝ่ายบุคคล และฐานข้อมูลผู้ใช้ระบบ (Single Sign On) ดูแลโดยฝ่าย IT เมื่อมีพนักงานใหม่ หรือพนักงานลาออก ฝ่ายบุคคลก็จะเข้าไปบันทึกข้อมูลลงฐานข้อมูล HR และยังต้องแจ้งให้ฝ่าย IT ทราบด้วย เพื่อให้ฝ่าย IT ทำการเพิ่มและลบผู้ใช้งานในฐานข้อมูล SSO

เพื่อลดขั้นตอนของงานเราจะสร้าง Trigger ที่จะทำงานเมื่อมีการ Insert, Update หรือ Delete ข้อมูล Table บุคลากรใน HR โดยให้ส่งข้อมูลไปยังฐานข้อมูล SSO โดยตรง เมื่อมีพนักงานใหม่ หรือพนักงานลาออก ฝ่ายบุคคลก็จะเข้าไปบันทึกข้อมูลลงฐานข้อมูล HR ตามปกติ แต่ Trigger จะทำงาน และส่งข้อมูลใหม่ไปยังฐานข้อมูล SSO ด้วย

ตัวอย่าง Trigger

คำสั่ง Trigger นี้จะผูกติดกับ Table ชื่อ Employee ในฐานข้อมูล HR ซึ่งจะทำงานหลังจากเกิดเหตุการณ์ Insert โดยการนำข้อมูลไป Insert ลงใน Table ชื่อ UserLogon ในฐานข้อมูล SSO ผ่านทาง Table ที่ชื่อว่า inserted ซึ่ง inserted คือ Table ที่จะเก็บ Row ของข้อมูลที่ถูก Insert ในตาราง Employee

ส่วน SSO_Server นั้นเกิดจากการทำ Linked Server สามารถศึกษาเพิ่มเติมได้ที่ https://msdn.microsoft.com/en-us/ms188279.aspx

รายละเอียดเพิ่มเติมเกี่ยวกับ Trigger ศึกษาเพิ่มเติมได้ที่ https://msdn.microsoft.com/en-us/library/ms189799.aspx