Het isolatieniveau READ UNCOMMITTED gebruiken
Een nieuwe klant komt naar je bank om een rekening te openen. Je voert haar gegevens in je systeem in, waardoor een script zoals dit wordt gestart:
BEGIN TRAN
INSERT INTO customers (first_name, last_name, email, phone)
VALUES ('Ann', 'Ros', '[email protected]', '555555555')
DECLARE @cust_id INT = scope_identity()
INSERT INTO accounts (account_number, customer_id, current_balance)
VALUES ('55555555555010121212', @cust_id, 150)
COMMIT TRAN
Op dat moment begint je collega van Marketing e-mails te sturen naar elke klant. Er komt een loterij voor een auto! Het script dat hij uitvoert haalt alle klantgegevens op, inclusief de laatste klant die jij hebt ingevoerd. Dit script begint te draaien nadat de eerste insert heeft plaatsgevonden, maar vóór de COMMIT TRAN.
Hoe kan dat?
Deze oefening maakt deel uit van de cursus
Transacties en foutafhandeling in SQL Server
Oefeninstructies
- Stel het isolatieniveau
READ UNCOMMITTEDin. - Selecteer
first_name,last_name,emailenphoneuit de tabelcustomers.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- Set the appropriate isolation level
___ TRANSACTION ___ LEVEL ___ ___
-- Select first_name, last_name, email and phone
SELECT
___,
___,
___,
___
FROM customers;