Déclencheurs vs. colonnes calculées
En poursuivant votre analyse de la base de données, vous trouvez deux autres objets intéressants :
La table
SalesWithPricecontient une colonne qui calculeTotalAmountcommeQuantity * Price. Cela est réalisé à l’aide d’une colonne calculée qui utilise des colonnes de la même table pour effectuer 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 limitation en utilisant la colonnePricede la tableProducts.
Cet exercice fait partie du cours
Créer et optimiser des déclencheurs dans SQL Server
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
-- 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;