Triggers kontra beräknade kolumner
När du fortsätter att analysera databasen hittar du två andra intressanta objekt:
Tabellen
SalesWithPricehar en kolumn som beräknarTotalAmountsomQuantity * Price. Det sker via en beräknad kolumn som använder kolumner från samma tabell.Triggern
SalesCalculateTotalAmountskapades på tabellenSalesWithoutPrice. KolumnenPriceingår inte iSalesWithoutPrice, vilket innebär att en beräknad kolumn inte kan användas förTotalAmount. Triggern löser den begränsningen genom att hämtaPrice-kolumnen från tabellenProducts.
Den här övningen är en del av kursen
Bygga och optimera triggers i SQL Server
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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;