Forums Últimos mensajes - Powered by IBM
 
Tags Palabras claves

transaciones

16/12/2004 - 17:08 por Jose Loaiza Q | Informe spam
Buenos dias

tengo una inquietud sobre transaciones

si yo tengo dos procedimientos almacenados como los siguientes

CREATE PROCEDURE Inserta2
AS
SAVE TRAN Guardado
INSERT INTO Tabla1 VALUES ('Valor2')SET @Error=@@ERRORiF (@Error<>0) GOTO
TratarErrorCOMMIT TRANratarError:If @@Error<>0 BEGIN PRINT 'Ha ucurrido un
error.' ROLLBACK TRAN ENDGO
CREATE PROCEDURE Inserta1
AS
BEGIN TRAN
EXEC Inserta2
SET @Error=@@ERROR
iF (@Error<>0) GOTO TratarError
INSERT INTO Tabla1 VALUES ('Valor 3')
COMMIT TRAN

ratarError:
If @@Error<>0
BEGIN
PRINT 'Ha ucurrido un error.'

ROLLBACK TRAN
END

GO



Si es correcto que yo haga el commit tran en el procedimiento inserta2 que
y hacerlo de nuevo en inserta uno. si se ejecuta el rollback de inserta1
deshace todo lo realizado en el inserta2 aunque se haya ejecutado el commit
tran en el inserta1.


muchas gracias.
 

Leer las respuestas

#1 MAXI
18/12/2004 - 16:17 | Informe spam
Hola, no logro comprender bien el problema, cual es inserta1 ?




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

Msn Messenger:

"Jose Loaiza Q" escribió en el mensaje
news:O%
Buenos dias

tengo una inquietud sobre transaciones

si yo tengo dos procedimientos almacenados como los siguientes

CREATE PROCEDURE Inserta2
AS
SAVE TRAN Guardado
INSERT INTO Tabla1 VALUES ('Valor2')SET @Error=@@ERRORiF (@Error<>0)
GOTO
TratarErrorCOMMIT TRANratarError:If @@Error<>0 BEGIN PRINT 'Ha ucurrido
un
error.' ROLLBACK TRAN ENDGO
CREATE PROCEDURE Inserta1
AS
BEGIN TRAN
EXEC Inserta2
SET @Error=@@ERROR
iF (@Error<>0) GOTO TratarError
INSERT INTO Tabla1 VALUES ('Valor 3')
COMMIT TRAN

ratarError:
If @@Error<>0
BEGIN
PRINT 'Ha ucurrido un error.'

ROLLBACK TRAN
END

GO



Si es correcto que yo haga el commit tran en el procedimiento inserta2 que
y hacerlo de nuevo en inserta uno. si se ejecuta el rollback de inserta1
deshace todo lo realizado en el inserta2 aunque se haya ejecutado el
commit
tran en el inserta1.


muchas gracias.




Preguntas similares