Bloquear Consultas en TSQL

Volviendo a las andadas con Microsoft SQL.

Algo que ya se me había olvidado. ¿cómo bloquear consultas en TSQL?.

Iniciamos con:

BEGIN TRAN
SELECT MAX(id) FROM dbo.tabla1 WITH (TABLOCKX, HOLDLOCK)

Ahora se puede ejecutar la consulta (obvio en otra ventana con una conexión diferente)

SELECT * FROM dbo.tabla2
 
SELECT * FROM dbo.tabla1

La segunda consulta se queda esperando.

Por último hacemos un:

ROLLBACK TRAN

Ojo, es importante que se cercioren en terminar la transacción:

Gracias por hacer comunidad

Analista/Desarrollador y cofundador de QBit Mexhico. Tecnologías utilizadas Android, Java (EJB, Servlets, Faces, Groovy & Grails, Maven, Swing), .Net (C#, VB, ASP, MVC), Delphi, Spring, Hibernate, DTSx, Oracle, T-SQL, Firebird, MySQL, MongoDB, NodeJs, ReactJs (Flux). Sistemas Operativos Mac, Ubuntu y Windows.

Twitter LinkedIn 

Compartir en...Tweet about this on TwitterPin on Pinterest0Share on LinkedIn0Share on Google+0Share on Facebook1