เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

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;
แก้ไขและรันโค้ด