manejo de varios errores en procedimientos almacenados

10/08/2006 - 16:03 por Hugo Gsell | Informe spam
Hola.
Tengo un procedimiento almacenado que hace 2 actualizaciones (ver abajo):
La pregunta es.. ¿Luego de cada operacion insert debo hacer el control del
rollback... comminttran?

BEGIN transaction
INSERT INTO Tabla1 (campo1, campo2) VALUES (val1, val2)
SET @error = @@error
INSERT INTO Tabla2 (campo1, campo2) VALUES (val1, val2)
SET @error = @@error
SET @error = @@error

IF @error != 0
BEGIN
ROLLBACK TRANSACTION
END
ELSE
BEGIN
COMMIT TRANSACTION
SET @nIdExpte= @NuevoNro
END
 

Leer las respuestas

#1 Maxi
10/08/2006 - 16:18 | Informe spam
Hola, es una lastima no saber que version estas usando de SQL ya que ha
cambiado mucho desde la 2k a la 2005. Voy a suponer que tenes sql2000

BEGIN transaction
INSERT INTO Tabla1 (campo1, campo2) VALUES (val1, val2)
SET @error = @@error

IF @error != 0
BEGIN
ROLLBACK TRANSACTION
END



INSERT INTO Tabla2 (campo1, campo2) VALUES (val1, val2)
SET @error = @@error

IF @error != 0
BEGIN
ROLLBACK TRANSACTION
END

COMMIT TRANSACTION
SET @nIdExpte= @NuevoNro



Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Hugo Gsell" escribió en el mensaje
news:
Hola.
Tengo un procedimiento almacenado que hace 2 actualizaciones (ver abajo):
La pregunta es.. ¿Luego de cada operacion insert debo hacer el control del
rollback... comminttran?

BEGIN transaction
INSERT INTO Tabla1 (campo1, campo2) VALUES (val1, val2)
SET @error = @@error
INSERT INTO Tabla2 (campo1, campo2) VALUES (val1, val2)
SET @error = @@error
SET @error = @@error

IF @error != 0
BEGIN
ROLLBACK TRANSACTION
END
ELSE
BEGIN
COMMIT TRANSACTION
SET @nIdExpte= @NuevoNro
END



Preguntas similares