Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como você cria modelos de procedimento armazenado do SQL Server 2005 no SQL Server 2005 Management Studio?


Outra pepita que eu acho que vai ajudar as pessoas a desenvolverem e serem mais produtivas em seu desenvolvimento de banco de dados. Sou fã de procedimentos armazenados e funções quando desenvolvo soluções de software. Eu gosto que meus métodos CRUD reais sejam implementados no nível do banco de dados. Isso me permite equilibrar meu trabalho entre o software aplicativo (lógica de negócios e acesso a dados) e o próprio banco de dados. Não querendo começar uma guerra religiosa, mas quero permitir que as pessoas desenvolvam stored procedures de forma mais rápida e com melhores práticas por meio de templates.

Vamos começar criando seus próprios modelos no SQL Server 2005 Management Studio. Primeiro, você precisa mostrar o Template Explorer no Studio.

texto alternativo http://www.cloudsocket.com/images/image-thumb10.png

Isso mostrará o seguinte:

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

O IDE criará um modelo em branco. Para editar o modelo, clique com o botão direito do mouse no modelo e selecione Editar. Você obterá uma janela de consulta em branco no IDE. Agora você pode inserir sua implementação de modelo. Tenho aqui o template do novo stored procedure para incluir um TRY CATCH. Eu gosto de incluir tratamento de erros em meus procedimentos armazenados. Com a nova adição TRY CATCH ao TSQL no SQL Server 2005, devemos tentar usar esse poderoso mecanismo de manipulação de exceção por meio de nosso código, incluindo o código do banco de dados. Salve o modelo e você estará pronto para usar seu novo modelo para a criação do procedimento armazenado.
-- ======================================================
-- 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