sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo se crean plantillas de procedimientos almacenados de SQL Server 2005 en SQL Server 2005 Management Studio?

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