写存储过程的时候我们一般都是手写代码,而且还是手动加上存储过程的注释。一个两个好说,但写的多了就会想有没省事点的办法呢?
我这里就提供一些小门道。
快速创建存储过程
下面是我要快速创建存储过程的一个模板存储过程:
/**********************************************
* 作 者: 齐.net
* 创建日期: 2009/10/12
* 功能描述: 说明信息
*
**********************************************/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[Proc_Default_ProcNme]
/*参数名 类型[(大小)] [=默认值] [方向] */
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON
END
这里注释里的日期是自动生成的,我们每次生成这个代码后就只需要将“说明信息”改成自己的注释就可以了。那么,如何在每次要创建存储过程的时候快速的生成这个代码呢?请看下面:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[Proc_Sys_CreateProcTemp]
/*参数名 类型[(大小)] [=默认值] [方向] */
@chvProcName varchar(64) ='Proc_Default_ProcNme'
AS
BEGIN
-- 出于性能考虑,这是每个存储过程的第一条语句
-- 当SET NOCOUNT为ON时,将不向客户端发送存储过程中每个语句的DONE_IN_PROC消息。
-- 如果存储过程中包含的一些语句并不返回许多实际数据,则该设置由于大量减少了网络流量,因此可显著提高性能。
SET NOCOUNT ON
DECLARE @chvSqlStr VARCHAR(1024)
SET @chvSqlStr='/**********************************************
* 作者: 齐.net
* 创建日期: '
--加上创建时间
SET @chvSqlStr=@chvSqlStr+CONVERT(VARCHAR(32),GETDATE(),111)
SET @chvSqlStr=@chvSqlStr+'
* 功能描述: 说明信息
*
**********************************************/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].['
SET @chvSqlStr=@chvSqlStr+@chvProcName
SET @chvSqlStr=@chvSqlStr+']
/*参数名 类型[(大小)] [=默认值] [方向] */
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON
END'
PRINT @chvSqlStr
END
这个存储过程就是快速生成模板的一个存储过程,你只需要把里面的一些关键信息改成你自己的信息就可以了。
将这个存储过程创建到master数据库中,然后在SQL Server Mangement Studio 的“工具”菜单-->“选项”-->“环境”-->“键盘”中添加一个快捷方式,如下图:
这样你就可以在你的查询分析器里按CTRL+3就会在查询结果的消息里输出我们的模板存在过程。复制到查询分析器里,再修改下,执行就创建了我们需要的存储过程。
快速显示存储过程、函数等内容
同样,我们还可以实现快速的显示出存储过程、函数等以便于我们修改,代码如下:
/**********************************************
* 作 者: 齐.net
* 创建日期: 2009/10/12
* 功能描述: 快速显示存储过程、函数等 内容
*
**********************************************/
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[Proc_Sys_AlterProcTemp]
@objname VARCHAR(256)
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON
DECLARE @chvSqlStr VARCHAR(1024)
SET @chvSqlStr=''
DECLARE @dtValues TABLE
(
[value] VARCHAR(512) NULL
)
INSERT INTO @dtValues ([value]) EXEC sp_helptext @objname
SELECT @chvSqlStr=@chvSqlStr+[value] FROM @dtValues
PRINT @chvSqlStr
END
还有,可以使用一些插件,如:
智能提示的http://www.code84.com/u/matrixdom/File.aspx/t-71
OK,试试吧