Använda isoleringsnivån READ UNCOMMITTED
En ny kund besöker din bank för att öppna ett konto. Du lägger in hennes uppgifter i systemet, vilket gör att ett skript som det här börjar köras:
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
I samma stund börjar din kollega på marknadsavdelningen skicka e-post till alla kunder – det ska lottas ut en bil! Det skript han kör hämtar alla kunders uppgifter, inklusive den kund du just lade till. Skriptet börjar köras efter den första insättningen men innan COMMIT TRAN.
Hur är det möjligt?
Den här övningen är en del av kursen
Transaktioner och felhantering i SQL Server
Övningsinstruktioner
- Ange isoleringsnivån
READ UNCOMMITTED. - Välj
first_name,last_name,emailochphonefrån tabellencustomers.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- Set the appropriate isolation level
___ TRANSACTION ___ LEVEL ___ ___
-- Select first_name, last_name, email and phone
SELECT
___,
___,
___,
___
FROM customers;