Déclencheurs vs colonnes calculées
En poursuivant votre analyse de la base de données, vous repérez deux autres objets intéressants :
La table
SalesWithPricecomporte une colonne qui calculeTotalAmountcommeQuantity * Price. Cela se fait au moyen d'une colonne calculée qui utilise des colonnes de la même table pour le calcul.Le déclencheur
SalesCalculateTotalAmounta été créé sur la tableSalesWithoutPrice. La colonnePricene fait pas partie de la tableSalesWithoutPrice, donc une colonne calculée ne peut pas être utilisée pourTotalAmount. Le déclencheur contourne cette limite en utilisant la colonnePricede la tableProducts.
Cette activité fait partie du cours
Création et optimisation de déclencheurs dans SQL Server
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- 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;