
TRANSACCIONES ANIDADAS SQL 2005
Publicado por DALSOM (195 intervenciones) el 25/12/2008 17:47:35
HOLA A TODOS, ESTUBE BUSCANDO DE LAS TRANSACCIONES ANIDADAS, SEGUN VEO EN EL FORO, SI SE PUEDE, Y TAL CUAL ESTAN DESCRIBIENDO LO ESTOY HACIENDO. LO QUE NO ENTIENDO ES QUE PUEDO ESTAR HACIENDO MAL, YA QUE CUANDO HAGO EL PRIMER ROLLBACK TRANSACTION, SE VAN TODAS.
HAGO ESTE CODIGO :
BEGIN TRANSACTION UNO
INSERT INTO TABLA1(FDESC) VALUES('TEST TRAN 1')
SELECT * FROM TABLA1 WHERE ID = @@IDENTITY
BEGIN TRANSACTION DOS
INSERT INTO TABLA1(FDESC) VALUES('TRAN 2 TEST')
SELECT * FROM TABLA1 WHERE ID = @@IDENTITY
-- DEBERIA TENER DOS CAMPOS NUEVOS AGREGADOS HASTA ESTA LINEA.
ROLLBACK TRANSACTION DOS
-- NO DA NINGUN ERROR...
SELECT * FROM TABLA1
ROLLBACK TRANSACTION UNO
-- ERROR DE QUE EL ROLLBACK NO TIENE UNA TRANSACCION CORRESPONDIENTE ABIERTA.
SELECT * FROM TABLA1
-- TIENE EL MISMO NUMERO DE FILAS, SIN NINGUNA AGREGADA.
NO SE QUE ESTOY HACIENDO MAL. AGRADECERE SU EXPLICACION CON TODO DETALLE, YA QUE CREO ESTOY HACIENDO ALGO MAL, PERO NO ENTIENDO QUE PODRA SER.
UTILIZO SQL SERVER EXPRESS 2005.
GRACIAS, Y
FELICIDADES EN ESTA NAVIDAD 2008.
HAGO ESTE CODIGO :
BEGIN TRANSACTION UNO
INSERT INTO TABLA1(FDESC) VALUES('TEST TRAN 1')
SELECT * FROM TABLA1 WHERE ID = @@IDENTITY
BEGIN TRANSACTION DOS
INSERT INTO TABLA1(FDESC) VALUES('TRAN 2 TEST')
SELECT * FROM TABLA1 WHERE ID = @@IDENTITY
-- DEBERIA TENER DOS CAMPOS NUEVOS AGREGADOS HASTA ESTA LINEA.
ROLLBACK TRANSACTION DOS
-- NO DA NINGUN ERROR...
SELECT * FROM TABLA1
ROLLBACK TRANSACTION UNO
-- ERROR DE QUE EL ROLLBACK NO TIENE UNA TRANSACCION CORRESPONDIENTE ABIERTA.
SELECT * FROM TABLA1
-- TIENE EL MISMO NUMERO DE FILAS, SIN NINGUNA AGREGADA.
NO SE QUE ESTOY HACIENDO MAL. AGRADECERE SU EXPLICACION CON TODO DETALLE, YA QUE CREO ESTOY HACIENDO ALGO MAL, PERO NO ENTIENDO QUE PODRA SER.
UTILIZO SQL SERVER EXPRESS 2005.
GRACIAS, Y
FELICIDADES EN ESTA NAVIDAD 2008.
Valora esta pregunta


0