Die Isolationsstufe READ UNCOMMITTED verwenden
Eine neue Kundin kommt zu deiner Bank, um ein Konto zu eröffnen. Du fügst ihre Daten in dein System ein, wodurch ein Skript wie dieses gestartet wird:
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
In diesem Moment beginnt deine Kollegin aus dem Marketing, E-Mails an alle Kundinnen und Kunden zu senden. Es gibt eine Verlosung für ein Auto! Das Skript, das sie ausführt, holt die Daten aller Kundinnen und Kunden, einschließlich der zuletzt von dir eingefügten. Dieses Skript startet nach dem ersten Insert, aber vor dem COMMIT TRAN.
Wie kann das sein?
Diese Übung ist Teil des Kurses
Transaktionen und Fehlerbehandlung in SQL Server
Anleitung zur Übung
- Setze die Isolationsstufe
READ UNCOMMITTED. - Wähle
first_name,last_name,emailundphoneaus der Tabellecustomersaus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- Set the appropriate isolation level
___ TRANSACTION ___ LEVEL ___ ___
-- Select first_name, last_name, email and phone
SELECT
___,
___,
___,
___
FROM customers;