BEGIN TRAN - ROLLBACK TRAN y QUERY DINAMICO

21/12/2006 - 04:14 por Isaias | Informe spam
Yo estaba seguro (ya vi que no), que las ejecuciones realizadas mediante un
QUERY DINAMICO, no podian ser "regresadas" por un ROLLBACK TRAN y un
compañero de trabajo me dijo que si.

Para no quedarme con la duda, hice la prueba.

2 Bases (BaseA y BaseB), mismo servidor
Desde BaseA, ejecuto:

BEGIN TRAN InsertaDatos
SET @SQLString = N' INSERT INTO BaseB..Empleado (id, nombre) VALUES(1,
''JOSE MARIA RASCON'')
EXECUTE sp_executesql @SQLString
SELECT * FROM BaseB..Empleado

id Nombre
1 JOSE MARIA RASCON

(1 filas afectadas)


ROLLBACK TRAN InsertaDatos
SELECT * FROM BaseB..Empleado
(0 filas afectadas)

¿No se supone que por haber realizado el INSERT mediante un QUERY DINAMICO,
no deberia hacer el ROLLBACK TRAN InsertaDatos?

Gracias por sus comentarios

Saludos
IIslas
 

Leer las respuestas

#1 Maxi
21/12/2006 - 13:28 | Informe spam
Hola, no lo probe (porque no uso SQLDinamico para esas cosas ;-)) pero en
ningun lado de la documentacion hace mencion a que no funcione con
transacciones


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Isaias" escribió en el mensaje
news:
Yo estaba seguro (ya vi que no), que las ejecuciones realizadas mediante
un
QUERY DINAMICO, no podian ser "regresadas" por un ROLLBACK TRAN y un
compañero de trabajo me dijo que si.

Para no quedarme con la duda, hice la prueba.

2 Bases (BaseA y BaseB), mismo servidor
Desde BaseA, ejecuto:

BEGIN TRAN InsertaDatos
SET @SQLString = N' INSERT INTO BaseB..Empleado (id, nombre) VALUES(1,
''JOSE MARIA RASCON'')
EXECUTE sp_executesql @SQLString
SELECT * FROM BaseB..Empleado

id Nombre
1 JOSE MARIA RASCON

(1 filas afectadas)


ROLLBACK TRAN InsertaDatos
SELECT * FROM BaseB..Empleado
(0 filas afectadas)

¿No se supone que por haber realizado el INSERT mediante un QUERY
DINAMICO,
no deberia hacer el ROLLBACK TRAN InsertaDatos?

Gracias por sus comentarios

Saludos
IIslas

Preguntas similares