ฝึกสร้าง Trigger
บริษัท Fresh Fruit Delivery ต้องการสร้าง trigger ใหม่ชื่อ OrdersUpdatedRows บนตาราง Orders
trigger นี้มีหน้าที่บันทึกข้อมูลลงในตารางประวัติ (OrdersUpdate) ซึ่งใช้เก็บข้อมูลของแถวที่ถูกอัปเดต
ในทางปฏิบัติ ตารางประวัติมักใช้เพื่อเก็บข้อมูลที่มีการเปลี่ยนแปลงจากตารางต้นฉบับ ในตัวอย่างนี้ การเปลี่ยนแปลงคำสั่งซื้อจะถูกบันทึกไว้ใน OrdersUpdate เพื่อให้บริษัทนำไปใช้ในการตรวจสอบ (auditing)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างและปรับแต่ง Trigger ใน SQL Server
คำแนะนำการฝึกหัด
- สร้าง trigger ใหม่สำหรับตาราง
Orders - กำหนดให้ trigger ทำงานหลังจากคำสั่ง
UPDATEเท่านั้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Set up a new trigger
___ TRIGGER OrdersUpdatedRows
ON ___
-- The trigger should fire after UPDATE statements
___ UPDATE
-- Add the AS keyword before the trigger body
AS
-- Insert details about the changes to a dedicated table
___ INTO OrdersUpdate(OrderID, OrderDate, ModifyDate)
SELECT OrderID, OrderDate, GETDATE()
FROM inserted;