SQL ServerVideos
992
0

Cómo manejar los ERRORES en SQL

Manejar de forma correcta los errores dentro de tu código TSQL es muy importante para que tu aplicación funcione de forma adecuada.

En el siguiente video te voy a mostrar cual es la forma correcta de hacerlo


USE TEMPDB
GO
CREATE OR ALTER PROC USP_ERROR0
AS

 CREATE TABLE #DEMO (VALOR INT)
	   
 BEGIN TRAN;
   INSERT INTO #DEMO
   SELECT 1/0 AS CAUSEANERROR

   PRINT 'HOLA'

 COMMIT;

 SELECT * FROM #DEMO 
GO

exec USP_ERROR0

CREATE OR ALTER PROC USP_ERROR1
AS
 CREATE TABLE #DEMO (VALOR INT)

BEGIN TRY--DETECT ERRORS
 BEGIN TRAN;
  INSERT INTO #DEMO
  SELECT 1/0 AS CAUSEANERROR

  PRINT 'HOLA'
 COMMIT;
END TRY

BEGIN CATCH
  IF @@TRANCOUNT> 0 ROLLBACK; --CLEANUP AFTER ERROR
  THROW;
END CATCH
GO

CREATE OR ALTER PROC USP_ERROR3
AS
--STRUCTURED ERROR HANDLING EXAMPLE
	   
BEGIN TRY--DETECT ERRORS
 BEGIN TRAN;
   SELECT 1/0 AS CAUSEANERROR;
 COMMIT;
END TRY

BEGIN CATCH
 IF @@TRANCOUNT> 0 ROLLBACK; --CLEANUP AFTER ERROR
  
  THROW 50001, 'ERROR EN INSERTAR DATO', 1; -- CUSTOM
END CATCH
GO
You must be logged in to post a comment.