Last active
June 10, 2021 20:18
-
-
Save donpandix/f0e4c22558b1364454de13da1bc2c15c to your computer and use it in GitHub Desktop.
Template de un SP con captura de excepciones
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| IF OBJECT_ID ('spa_XXX_ACT_NOMBRE') IS NOT NULL | |
| DROP PROCEDURE spa_XXX_ACT_NOMBRE | |
| GO | |
| CREATE PROCEDURE spa_XXX_ACT_NOMBRE | |
| AS | |
| /* | |
| !IniHeaderDoc | |
| ***************************************************************************** | |
| !NombreObjeto : spa_XXX_ACT_NOMBRE | |
| !Sistema : Proyecto | |
| !Modulo : Web | |
| !Descripcion : Descripción | |
| !Plataforma : !BaseDatosSqlServer | |
| !Perfil : USOGENERAL | |
| !Itinerado : N.A | |
| !Uso : N.A | |
| !Autor : Cesar Gonzalez | |
| !Creacion : DD/MM/YYYY | |
| !Retornos/Salidas : N.A | |
| !OrigenReq : N.A | |
| ============================================================================= | |
| !Parametros : | |
| ============================================================================= | |
| !Testing : exec spa_XXX_ACT_NOMBRE | |
| ============================================================================= | |
| !ControlCambio | |
| -------------- | |
| !cVersion !cFecha !cProgramador !cDescripcion | |
| ----------------------------------------------------------------------------- | |
| 1.0 DD/MM/YYYY Cesar Gonzalez Creación del objeto | |
| ***************************************************************************** | |
| !EndHeaderDoc | |
| */ | |
| BEGIN TRANSACTION transaccion_sp | |
| BEGIN | |
| SET NOCOUNT ON; | |
| BEGIN TRY | |
| -- QUERIES | |
| COMMIT TRANSACTION transaccion_sp | |
| RETURN 0 | |
| END TRY | |
| BEGIN CATCH | |
| -- En caso de error capturo la información | |
| -- asociada para almacenar y/o desplegar | |
| DECLARE @ErrorMessage NVARCHAR(4000); | |
| DECLARE @ErrorSeverity INT; | |
| DECLARE @ErrorState INT; | |
| DECLARE @ErrorNumber INT; | |
| SELECT | |
| @ErrorMessage = ERROR_MESSAGE(), | |
| @ErrorSeverity = ERROR_SEVERITY(), | |
| @ErrorState = ERROR_STATE(), | |
| @ErrorNumber = ERROR_NUMBER(); | |
| ROLLBACK TRANSACTION transaccion_sp | |
| RAISERROR (@ErrorMessage, | |
| @ErrorSeverity, | |
| @ErrorState); | |
| RETURN (@ErrorNumber) | |
| END CATCH | |
| END |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Se agrega una cabecera para validar la existencia del SP en la base de datos, de manera de evitar conflictos cuando es una actualización de un procedimiento almacenado ya existente