Exemplo de Stored Procedure com tratamento de erros e transação. (SqlServer)

Autor : Antonio Carlos Ferreira de Azevedo
Postado em : 11/10/2022


Exemplo de Stored Procedure com tratamento de erro


Stored Procedure com tratamento de erro utilizando BEGIN TRY e BEGIN TRAN, caso encontre erro retorna mensagem exibindo o erro encontrado.
Executa os procedimentos executando COMMIT ao final, mas se encontrado algum erro executa os procedimentos em BEGIN CATCH e retorna mensagem de erro encontrado.

CREATE OR ALTER PROCEDURE [dbo].[MinhaProcedure]  
AS
BEGIN

  SET NOCOUNT ON

  BEGIN TRY

        -- Executa processamento 

        BEGIN TRAN  
        
        UPDATE ...

        INSERT INTO ...
            
        COMMIT -- Se não encontrar erro executa o commit
        
        SELECT 'Operacao concluida com sucesso!' AS Retorno     
         
  END TRY

  BEGIN CATCH

        -- Caso tenha encontrado algum erro executa este bloco com RollBack

        SELECT 'Erro No: ' + CONVERT(VARCHAR, ERROR_NUMBER()) + ' -  ' + ERROR_MESSAGE() AS Retorno

        ROLLBACK 

  END CATCH
        
  SET NOCOUNT OFF

END

GO


Não deixe de comentar, seu comentário é importante.



Links Relacionados



Comentários