Тригери vs. обчислювані стовпці
Продовжуючи аналіз бази даних, ви знаходите ще два цікаві об'єкти:
У таблиці
SalesWithPriceє стовпець, який обчислюєTotalAmountякQuantity * Price. Це зроблено за допомогою обчислюваного стовпця, який використовує для розрахунку стовпці з тієї самої таблиці.Тригер
SalesCalculateTotalAmountстворено на таблиціSalesWithoutPrice. СтовпецьPriceне входить до таблиціSalesWithoutPrice, тож обчислюваний стовпець дляTotalAmountзастосувати не можна. Тригер долає це обмеження, використовуючи стовпецьPriceз таблиціProducts.
Ця вправа є частиною курсу
Створення та оптимізація тригерів у 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;