CommencerCommencer gratuitement

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 SalesWithPrice contient une colonne qui calcule TotalAmount comme Quantity * 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 SalesCalculateTotalAmount a été créé sur la table SalesWithoutPrice. La colonne Price ne fait pas partie de la table SalesWithoutPrice, donc une colonne calculée ne peut pas être utilisée pour TotalAmount. Le déclencheur contourne cette limitation en utilisant la colonne Price de la table Products.

Cet exercice fait partie du cours

Créer et optimiser des déclencheurs dans SQL Server

Afficher le cours

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;
Modifier et exécuter le code