如何在SQL Server 2005管理工具中创建SQL Server 2005存储过程模板?
如何在SQL Server 2005管理工具中创建SQL Server 2005存储过程模板?
我认为还有一个小技巧能帮助人们在数据库开发中更高效,从而提高他们的生产力。作为开发软件解决方案时,我喜欢使用存储过程和函数。我希望通过模板使人们能够更快地开发存储过程,并且遵循最佳实践。
首先,在SQL Server 2005管理工具中创建自己的模板。需要在工具中显示“模板资源管理器”。
alt text http://www.cloudsocket.com/images/image-thumb10.png
会看到以下内容:
alt text http://www.cloudsocket.com/images/image-thumb11.png
alt text http://www.cloudsocket.com/images/image-thumb12.png
alt text 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
您可以使用Ctrl+Alt+T或通过“视图>模板浏览器”来打开模板浏览器。然后,您可以右键单击树节点以添加新的模板或新的文件夹来组织您的新模板。
数据库 => 表格 => 可编程性 => 存储过程 => 右键选择新存储过程