Usando o nível de isolamento READ UNCOMMITTED
Uma nova cliente vai ao seu banco para abrir uma conta. Você insere os dados dela no sistema, fazendo com que um script como este comece a executar:
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
Nesse momento, seu colega do marketing começa a enviar e-mails para todos os clientes. Vai rolar um sorteio de um carro! O script que ele executa busca os dados de todos os clientes, incluindo a última cliente que você inseriu. Esse script começa a rodar depois que o primeiro insert ocorre, mas antes do COMMIT TRAN.
Como isso é possível?
Este exercício faz parte do curso
Transações e tratamento de erros no SQL Server
Instruções do exercício
- Defina o nível de isolamento
READ UNCOMMITTED. - Selecione
first_name,last_name,emailephoneda tabelacustomers.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
-- Set the appropriate isolation level
___ TRANSACTION ___ LEVEL ___ ___
-- Select first_name, last_name, email and phone
SELECT
___,
___,
___,
___
FROM customers;