Triggere vs. coloane calculate
Continuând analiza bazei de date, descoperi alte două obiecte interesante:
Tabelul
SalesWithPriceare o coloană care calculeazăTotalAmountcaQuantity * Price. Aceasta este o coloană calculată care folosește coloane din același tabel pentru calcul.Triggerul
SalesCalculateTotalAmounta fost creat pe tabelulSalesWithoutPrice. ColoanaPricenu face parte din tabelulSalesWithoutPrice, deci o coloană calculată nu poate fi folosită pentruTotalAmount. Triggerul depășește această limitare utilizând coloanaPricedin tabelulProducts.
Acest exercițiu face parte din cursul
Crearea și optimizarea triggerelor în SQL Server
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
-- 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;