Ejemplillo de cómo implementar un procedimiento almacenado con operaciones dentro de una transacción y controlar la excepción para tirar un rollback:
CREATE PROCEDURE nombreProcedimiento
@parametro1 bla, bla...
AS
BEGIN
BEGIN TRY
BEGIN TRANSACTION
INSERT ...
UPDATE ...
(etc...)
COMMIT
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK
DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int
SELECT @ErrMsg = ERROR_MESSAGE(),
@ErrSeverity = ERROR_SEVERITY()
RAISERROR(@ErrMsg, @ErrSeverity, 1)
END CATCH
END
No hay comentarios:
Publicar un comentario