การบันทึกประวัติการเปลี่ยนแปลงของแถวข้อมูล
บริษัท Fresh Fruit Delivery ต้องการติดตามการเปลี่ยนแปลงที่เกิดขึ้นกับตาราง Customers
ให้สร้าง trigger ใหม่ที่ครอบคลุมคำสั่งทุกประเภทที่แก้ไขแถวข้อมูลในตาราง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างและปรับแต่ง Trigger ใน SQL Server
คำแนะนำการฝึกหัด
- สร้าง trigger ใหม่ชื่อ
CopyCustomersToHistory - เชื่อม trigger กับตาราง
Customers - ให้ trigger ทำงานเมื่อมีการเพิ่มหรือแก้ไขแถวข้อมูล
- ดึงข้อมูลจากตารางพิเศษ
inserted
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Create a trigger to keep row history
CREATE TRIGGER ___
ON ___
-- Fire the trigger for new and updated rows
AFTER ___, UPDATE
AS
INSERT INTO CustomersHistory (CustomerID, Customer, ContractID, ContractDate, Address, PhoneNo, Email, ChangeDate)
SELECT CustomerID, Customer, ContractID, ContractDate, Address, PhoneNo, Email, GETDATE()
-- Get info from the special table that keeps new rows
FROM ___;