ComenzarEmpieza gratis

Usando el nivel de aislamiento READ UNCOMMITTED

Una nueva clienta visita tu banco para abrir una cuenta. Inserta sus datos en tu sistema, lo que hace que empiece a ejecutarse un script como este:

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

En ese momento, tu compañero de marketing empieza a enviar correos electrónicos a todos los clientes. ¡Va a haber un sorteo de un coche! El script que ejecuta obtiene los datos de todos los clientes, incluida la última clienta que acabas de insertar. Este script empieza a ejecutarse después de la primera inserción pero antes del COMMIT TRAN.

¿Cómo es posible?

Este ejercicio forma parte del curso

Transacciones y control de errores en SQL Server

Ver curso

Instrucciones del ejercicio

  • Establece el nivel de aislamiento READ UNCOMMITTED.
  • Selecciona first_name, last_name, email y phone de la tabla customers.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

-- Set the appropriate isolation level
___ TRANSACTION ___ LEVEL ___ ___

	-- Select first_name, last_name, email and phone
	SELECT
    	___, 
        ___, 
        ___,
        ___
    FROM customers;
Editar y ejecutar código