CommencezCommencez gratuitement

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 SalesWithPrice comporte une colonne qui calcule TotalAmount comme Quantity * 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 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 limite en utilisant la colonne Price de la table Products.

Cette activité fait partie du cours

Création et optimisation de déclencheurs dans SQL Server

Voir le cours

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