ComenzarEmpieza gratis

Evitar lecturas fantasma solo en algunas filas

Necesitas analizar algunos datos de tus clientes del banco con customer_id entre 1 y 10. Solo quieres bloquear las filas de la tabla customers con customer_id entre 1 y 10. Con esto te aseguras de que nadie podrá cambiar esas filas y permites que otras transacciones trabajen con el resto de la tabla.

Tienes que seleccionar esos clientes y ejecutar de nuevo algunas operaciones matemáticas. (En este ejercicio no nos centraremos en esas operaciones). Después, quieres volver a seleccionar a los clientes con customer_id entre 1 y 10 para asegurarte de que nada ha cambiado.

¿Cómo prepararías el script?

Este ejercicio forma parte del curso

Transacciones y control de errores en SQL Server

Ver curso

Instrucciones del ejercicio

  • Establece el nivel de aislamiento adecuado para evitar lecturas fantasma.
  • Inicia una transacción.
  • Selecciona los clientes que quieres bloquear.
  • Haz COMMIT de la transacción.

Ejercicio interactivo práctico

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

-- Set the appropriate isolation level
___ ___ ___ ___ ___

-- Begin a transaction
___ ___

-- Select customer_id between 1 and 10
SELECT * 
FROM customers
___ customer_id ___ ___ AND ___;

-- After completing some mathematical operation, select customer_id between 1 and 10
SELECT * 
FROM customers
___ customer_id ___ ___ AND ___;

-- Commit the transaction
___ ___
Editar y ejecutar código