Trigger เทียบกับ Computed Column
ระหว่างวิเคราะห์ฐานข้อมูลต่อไป คุณพบออบเจกต์ที่น่าสนใจอีก 2 รายการ:
ตาราง
SalesWithPriceมีคอลัมน์ที่คำนวณค่าTotalAmountเป็นQuantity * Priceโดยใช้ computed column ซึ่งอ้างอิงคอลัมน์จากตารางเดียวกันTrigger
SalesCalculateTotalAmountถูกสร้างขึ้นบนตารางSalesWithoutPriceเนื่องจากคอลัมน์Priceไม่ได้อยู่ในตารางSalesWithoutPriceจึงไม่สามารถใช้ computed column สำหรับTotalAmountได้ Trigger จึงช่วยแก้ข้อจำกัดนี้โดยดึงคอลัมน์PriceมาจากตารางProductsแทน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างและปรับแต่ง Trigger ใน SQL Server
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Add the following rows to the table
INSERT INTO ___ (Customer, Product, Price, Currency, Quantity)
VALUES ('Fruit Mag', 'Pomelo', 1.12, 'USD', 200),
('VitaFruit', 'Avocado', 2.67, 'USD', 400),
('Tasty Fruits', 'Blackcurrant', 2.32, 'USD', 1100),
('Health Mag', 'Kiwi', 1.42, 'USD', 100),
('eShop', 'Plum', 1.1, 'USD', 500);
-- Verify the results after adding the new rows
SELECT * FROM SalesWithPrice;