Otra pequeña pepita que creo que ayudará a las personas a desarrollar y ser más productivas en el desarrollo de su base de datos. Soy fanático de los procedimientos y funciones almacenados cuando desarrollo soluciones de software. Me gusta que mis métodos CRUD reales se implementen a nivel de base de datos. Me permite equilibrar mi trabajo entre el software de la aplicación (lógica comercial y acceso a datos) y la base de datos en sí. No quiero iniciar una guerra religiosa, pero quiero permitir que las personas desarrollen procedimientos almacenados más rápidamente y con las mejores prácticas a través de plantillas.
Comencemos con la creación de sus propias plantillas en SQL Server 2005 Management Studio. Primero, debe mostrar el Explorador de plantillas en Studio.
texto alternativo http://www.cloudsocket.com/images/image-thumb10.png
Esto mostrará lo siguiente:
texto alternativo http://www.cloudsocket.com/images/image-thumb11.png
texto alternativo http://www.cloudsocket.com/images/image-thumb12.png
texto alternativo http://www.cloudsocket.com/images/image-thumb13.png
El IDE creará una plantilla en blanco. Para editar la plantilla, haga clic derecho en la plantilla y seleccione Editar. Obtendrá una ventana de consulta en blanco en el IDE. Ahora puede insertar la implementación de su plantilla. Aquí tengo la plantilla del nuevo procedimiento almacenado para incluir un TRY CATCH. Me gusta incluir el manejo de errores en mis procedimientos almacenados. Con la nueva incorporación de TRY CATCH a TSQL en SQL Server 2005, debemos intentar usar este poderoso mecanismo de manejo de excepciones a través de nuestro código, incluido el código de la base de datos. Guarde la plantilla y estará listo para usar su nueva plantilla para la creación de procedimientos almacenados.
-- ======================================================
-- Create basic stored procedure template with TRY CATCH
-- ======================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName>
-- Add the parameters for the stored procedure here
<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>,
<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN TRY
BEGIN TRANSACTION -- Start the transaction
SELECT @p1, @p2
-- If we reach here, success!
COMMIT
END TRY
BEGIN CATCH
-- there was an error
IF @@TRANCOUNT > 0
ROLLBACK
-- Raise an error with the details of the exception
DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int
SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY()
RAISERROR(@ErrMsg, @ErrSeverity, 1)
END CATCH
GO