Використання рівня ізоляції READ UNCOMMITTED
Новий клієнт заходить до вашого банку, щоб відкрити рахунок. Ви вносите її дані в систему, унаслідок чого запускається приблизно такий сценарій:
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
У цей момент ваш колега з маркетингу починає надсилати електронні листи всім клієнтам. Планується розіграш автомобіля! Сценарій, який він запускає, отримує дані кожного клієнта, включно з останнім доданим вами клієнтом. Цей сценарій стартує після виконання першої вставки, але до COMMIT TRAN.
Як таке можливо?
Ця вправа є частиною курсу
Транзакції та обробка помилок у SQL Server
Інструкції до вправи
- Встановіть рівень ізоляції
READ UNCOMMITTED. - Виберіть
first_name,last_name,emailіphoneз таблиціcustomers.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
-- Set the appropriate isolation level
___ TRANSACTION ___ LEVEL ___ ___
-- Select first_name, last_name, email and phone
SELECT
___,
___,
___,
___
FROM customers;