Triggers vs. berekende kolommen
Terwijl je je analyse van de database voortzet, kom je twee andere interessante objecten tegen:
De tabel
SalesWithPriceheeft een kolom dieTotalAmountberekent alsQuantity * Price. Dit gebeurt met een berekende kolom die kolommen uit dezelfde tabel gebruikt voor de berekening.De trigger
SalesCalculateTotalAmountis gemaakt op de tabelSalesWithoutPrice. De kolomPricemaakt geen deel uit van de tabelSalesWithoutPrice, dus een berekende kolom kan niet worden gebruikt voorTotalAmount. De trigger omzeilt deze beperking door de kolomPriceuit de tabelProductste gebruiken.
Deze oefening maakt deel uit van de cursus
Triggers in SQL Server bouwen en optimaliseren
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- 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;