Utiliser le niveau d'isolement READ UNCOMMITTED
Une nouvelle cliente se présente à votre banque pour ouvrir un compte. Vous saisissez ses renseignements dans votre système, ce qui déclenche l'exécution d'un script comme celui-ci :
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
À ce moment-là, votre collègue du marketing commence à envoyer des courriels à tous les clients. Il y aura un tirage d'une voiture ! Le script qu'il exécute récupère les données de chaque client, y compris celles de la dernière cliente que vous venez d'insérer. Ce script démarre après la première insertion, mais avant le COMMIT TRAN.
Comment est-ce possible ?
Cette activité fait partie du cours
Transactions et gestion des erreurs dans SQL Server
Instructions de l’exercice
- Définissez le niveau d'isolement
READ UNCOMMITTED. - Sélectionnez
first_name,last_name,emailetphonede la tablecustomers.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- Set the appropriate isolation level
___ TRANSACTION ___ LEVEL ___ ___
-- Select first_name, last_name, email and phone
SELECT
___,
___,
___,
___
FROM customers;