Триггеры и вычисляемые столбцы
Продолжая анализ базы данных, вы обнаруживаете ещё два интересных объекта:
В таблице
SalesWithPriceесть столбец, который вычисляетTotalAmountкакQuantity * Price. Это реализовано с помощью вычисляемого столбца, использующего столбцы из той же таблицы.Триггер
SalesCalculateTotalAmountсоздан для таблицыSalesWithoutPrice. СтолбецPriceне входит в состав таблицыSalesWithoutPrice, поэтому вычисляемый столбец здесь применить нельзя. Триггер обходит это ограничение, обращаясь к столбцу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;