Sobre bloqueos y rollbacks en triggers

11/10/2004 - 04:09 por Larissa | Informe spam
Tengo duda casi existencial :))) sobre como sql server hace los bloqueos.

En una transaccion quiero primero incrementar una secuencia en una tabla A
de secuencias, luego hacer un INSERT en una tabla B, luego esta tabla B
tiene un trigger FOR INSERT (no instead of) que debe actualizar otras dos
tablas C y D.


En esa situacion, SQL Server me bloquea todas las tablas envueltas en la
transaccion incluyendo las del trigger, es decir: tablas A, B,C y D y me
impide por tanto que otros usuarios me las vayan a modificar mientras dura
la transacion ? Es asi ?

O debo yo hacer los bloqueos explicitamente en las tablas del trigger (C y
D) ?

Las tablas C y D estan bloqueadas para los demas usuarios desde el Begin
Transaction o solo a partir de que son modificadas ?

Larissa
 

Leer las respuestas

#1 Maximiliano D. A.
11/10/2004 - 04:25 | Informe spam
Hola, los triggers entan dentro de la transaccion :-) ese es el
funcionamiento.

Ahora bien, has estudiado de sacar ese trigger y poner todo el
funcionamiento en tus SP de CRUD?


"Larissa" escribió en el mensaje
news:
Tengo duda casi existencial :))) sobre como sql server hace los bloqueos.

En una transaccion quiero primero incrementar una secuencia en una tabla A
de secuencias, luego hacer un INSERT en una tabla B, luego esta tabla B
tiene un trigger FOR INSERT (no instead of) que debe actualizar otras dos
tablas C y D.


En esa situacion, SQL Server me bloquea todas las tablas envueltas en la
transaccion incluyendo las del trigger, es decir: tablas A, B,C y D y me
impide por tanto que otros usuarios me las vayan a modificar mientras dura
la transacion ? Es asi ?

O debo yo hacer los bloqueos explicitamente en las tablas del trigger (C y
D) ?

Las tablas C y D estan bloqueadas para los demas usuarios desde el Begin
Transaction o solo a partir de que son modificadas ?

Larissa


Preguntas similares