当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQLServer编写存储过程小工具(一)

MSSQL
大内存SQL Server数据库的加速剂
SQL Server视图管理中的四个限制条件
从客户端提升SQL Server数据库性能
影响SQL Server性能的三个关键点
MySQL鲜为人知的几个特殊技巧
最简单删除SQL Server中所有数据的方法
揭秘SQL Server 2008性能和可扩展性
SQL SQL Server 2008中的新日期数据类型
SQL Server 2005中的CLR集成
新手入门:防范SQL注入攻击的新办法
SQL Server 2005常见问题浅析
SQL Server数据库优化经验总结
SQL Server元数据的管理与应用
最新的关键SQL Server漏洞已被微软证实
如何使用SQLServer数据库查询累计值
SQL Server 2008中的新日期数据类型
SQL注入攻击成为新威胁将挑战操作系统安全
并行查询让SQL Server加速运行
SQL Server 2008数据挖掘查询任务
三招解决SQL Server数据库权限冲突

MSSQL 中的 SQLServer编写存储过程小工具(一)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 125 ::
收藏到网摘: n/a

在开发数据库系统的过程中,经常要写很多的存储过程。为了统一格式和简化开发过程,我编写一些存储过程,用来自动生成存储过程。下面就为您简单介绍一下它们。其中一个用于生成Insert过程,另一个用于生成Update过程。


Sp_GenInsert

该过程运行后,它为给定的表生成一个完整的Insert过程。如果原来的表有标识列,您得将生成的过程中的SETIDNTITY_INSERTON语句手工删除。

语法如下

sp_GenInsert<TableName>,<StoredProcedureName>

以northwind数据库为例

sp_GenInsert’Employees’,’INS_Employees’

最后会生成一个Insert存储过程。利用它,您可以作进一步的开发。


Sp_GenUpdate

它会为一个表生成update存储过程。语法如下:

sp_GenUpdate<TableName>,<PrimaryKey>,<StoredProcedureName>

以northwind数据库为例

sp_GenUpdate’Employees’,’EmployeeID’,’UPD_Employees’

运行后生成如下所示的存储过程:

CreateProcedureUPD_Employees

@EmployeeIDint

@LastNamenvarchar(40),

@FirstNamenvarchar(20),

@Titlenvarchar(60),

@TitleofCourtesynvarchar(50),

@BirthDatedatetime,

@HireDatedatetime,

@Addressnvarchar(120),

@Citynvarchar(30),

@Regionnvarchar(30),

@PostalCodenvarchar(20),

@Countrynvarchar(30),

@HomePhonenvarchar(48),

@Extensionnvarchar(8),

@Photeimage,

@Notesntext,

@ReportsToint,

@PhotoPathnvarchar(510)

AS

UPDATEEmployees

SET

LastName=@LastName,

FirstName=@FirstName,

Title=@Title,

TitleofCourtesy=@TitleofCourtesy,

BirthDate=@BirthDate,

HireDate=@HireDate,

Address=@Address,

City=@City,

Regin=@Regin,

PostalCode=@PostCode,

Country=@Country,

HomePhone=@HomePhone,

Extension=@Extension,

Photo=@Photo

Notes=@Notes,

ReportsTo=@ReportsTo,

PhotoPath=@PhotoPath

WHEREEmployeeID=@EmployeeID


使用以上的两个存储过程,节省了我不少时间。特别是在改变了表结构后,重新构造各个存储过程的过程中。您可以改写这两个程序,来自动生成别的存储过程。