26 October 2013

Triggers ถ้าฉันทำ เธอต้องทำด้วยนะ !

    สวัสดีไอ้พวกมนุษย์ ! ในที่สุดแอดมินก็ได้มาเขียนบทความของ Gunghun.com เต็มตัวสักทีนะครับ หลังจากที่วุ่นวายกับการย้ายบทความจาก Gushared.com เพราะว่าโฮสกำลังจะหมดอายุเร็วๆนี้ แอดมินเลยคิดว่าถ้าเราหันมาใช้ Blogger แทน จะได้ไม่ต้องเสียค่าเช่าโฮสแล้วก็ถือโอกาสเปลี่ยนชื่อเว็บซะเลย และสำหรับบทความนี้ก็จะพูดเกี่ยวกับเรื่อง Triggers ว่ามันคืออะไร

    Triggers ถ้าจะพูดให้เข้าในง่ายๆ ก็คือการเขียนโปรแกรมฝังไว้ที่เทเบิลเพื่อดักจับเหตุการณ์ (INSERT, UPDATE, DELETE) ที่เกิดขึ้นกับเทเบิลนั้นๆ เพื่อกระทำการใดๆกับเทเบิลเป้าหมายที่ต้องการ ตัวอย่างเหตุการณ์ที่ใช้ Triggers เช่น การจัดเก็บข้อมูลในการซื้อขายผลไม้ ซึ่งจะมีเทเบิลรายการซื้อขาย เทเบิลสรุปยอดและเทเบิลการจัดการสต๊อก ปกติแล้วเมื่อมีการซื้อขาย เราจะต้องอัพเดตข้อมูลสามเทเบิลนี้โดยการเพิ่มข้อมูลเข้าไปทีละเทเบิลๆ ตามรูป


    แต่ถ้าเรานำ Triggers เข้ามาช่วย เราก็แค่เขียนโค๊ดฝังไว้ที่เทเบิลซื้อขายเพื่อสั่งให้เพิ่มข้อมูลที่เทเบิลสรุปยอดและเทเบิลการจัดการสต๊อก เมื่อมีการเพิ่มข้อมูลเกิดขึ้น Database จะทำการเพิ่มข้อมูลให้กับอีกสองเทเบิลโดยอัตโนมัติตามอัลกอริทึมที่เราเขียนไว้

    แต่การใช้งานก็ต้องดูตามความเหมาะสมนะครับแล้วอีกอย่าง Triggers ก็ค่อนข้างจะยึดติดกับแพลตฟอร์มเช่น ถ้าเราใช้ SQL Server อยู่ แล้ววันดีคืนดีจะย้ายไปใช้ mySql เราจะต้องศึกษาใหม่นะครับเพราะเขียนไม่เหมือนกัน
    คราวนี้เรารู้จักกับ Triggers แล้ว บทความต่อไปเราจะมาทดลองใช้งานบนเจ้าตัว Triggers บน SQL Server ดูนะครับว่ามันใช้งานยังไง