คำสั่ง MERGE

บทความโดย: 9Expert Team

คำสั่ง MERGE

9Expert Team 1 นาที

คำสั่ง MERGE เป็นคำสั่งที่มีอยู่ในมาตรฐาน ANSI มาตั้งแต่ปี 2003 และเพิ่มเติมส่วนขยายอีกครั้งในมาตรฐาน ANSI ปี 2008 สำหรับ Microsoft SQL Server นั้นมีใช้มาตั้งแต่ Microsoft SQL Server 2008

คำสั่ง MERGE เสมือนนำเอาคำสั่ง INSERT, UPDATE และ DELETE มารวมไว้ด้วยกัน โดยประกาศผ่านคำสั่ง MERGE เพียงคำสั่งเดียว ซึ่งมีประโยชน์มากในการทำ ETL ข้อมูล (Extract, Transform และ Load) แบบ Incremental Update จากแหล่งข้อมูลต้นทางไปยังปลายทาง

โครงสร้างคำสั่ง MERGE

  • MERGE INTO — ระบุตารางปลายทาง

  • USING — ระบุนิพจน์ตารางที่ทำหน้าที่เป็นตารางต้นทาง

  • ON — เงื่อนไขในการระบุแถวข้อมูลของทั้งตารางต้นทางและตารางปลายทาง

  • WHEN MATCHED — มีแถวข้อมูลทั้งในตารางต้นทางและตารางปลายทาง → UPDATE

  • WHEN NOT MATCHED — มีแถวข้อมูลในตารางต้นทาง แต่ไม่มีในตารางปลายทาง → INSERT

  • WHEN NOT MATCHED BY SOURCE — มีแถวข้อมูลในตารางปลายทาง แต่ไม่มีในตารางต้นทาง → DELETE

คำสั่ง MERGE ช่วยให้การทำ Incremental Update จากแหล่งข้อมูลต้นทางไปยังปลายทางสะดวกยิ่งขึ้น โดยไม่ต้องเขียนคำสั่ง INSERT, UPDATE, DELETE แยกกัน