如何在SQL Server 2005 Management Studio中创建SQL Server 2005存储过程模板?

时间:2020-03-05 18:54:03  来源:igfitidea点击:

如何在SQL Server 2005 Management Studio中创建SQL Server 2005存储过程模板?

解决方案

回答

我们可以使用Ctrl + Alt + T或者通过"视图">"模板资源管理器"打开模板资源管理器。然后,我们可以右键单击树节点以添加新模板或者新文件夹以组织新模板。

回答

我认为另一个小块人们开发数据库并提高他们的生产力。开发软件解决方案时,我喜欢存储过程和函数。我喜欢在数据库级别实现实际的CRUD方法。它使我能够平衡应用程序软件(业务逻辑和数据访问)与数据库本身之间的工作。我不想发动一场宗教战争,但我想允许人们通过模板以更快的速度和最佳实践开发存储过程。

让我们从在SQL Server 2005 Management Studio中制作自己的模板开始。首先,我们需要在Studio中显示"模板资源管理器"。

替代文字http://www.cloudsocket.com/images/image-thumb10.png

这将显示以下内容:

替代文字http://www.cloudsocket.com/images/image-thumb11.png

替代文字http://www.cloudsocket.com/images/image-thumb12.png

替代文字http://www.cloudsocket.com/images/image-thumb13.png

IDE将创建一个空白模板。要编辑模板,请在模板上单击鼠标右键,然后选择"编辑"。我们将在IDE中获得一个空白的"查询"窗口。现在,我们可以插入模板实现。我这里有新存储过程的模板,其中包括TRY CATCH。我喜欢在存储过程中包括错误处理。通过在SQL Server 2005中为TSQL添加新的TRY CATCH,我们应该尝试通过我们的代码(包括数据库代码)使用这种强大的异常处理机制。保存模板,我们就可以使用新模板创建存储过程了。

-- ======================================================
-- 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

回答

数据库=>表=>可编程性=>过程=>右键单击选择新过程