Aan de slagGa gratis aan de slag

Triggers vs. berekende kolommen

Terwijl je je analyse van de database voortzet, kom je twee andere interessante objecten tegen:

  • De tabel SalesWithPrice heeft een kolom die TotalAmount berekent als Quantity * Price. Dit gebeurt met een berekende kolom die kolommen uit dezelfde tabel gebruikt voor de berekening.

  • De trigger SalesCalculateTotalAmount is gemaakt op de tabel SalesWithoutPrice. De kolom Price maakt geen deel uit van de tabel SalesWithoutPrice, dus een berekende kolom kan niet worden gebruikt voor TotalAmount. De trigger omzeilt deze beperking door de kolom Price uit de tabel Products te gebruiken.

Deze oefening maakt deel uit van de cursus

Triggers in SQL Server bouwen en optimaliseren

Cursus bekijken

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;
Code bewerken en uitvoeren