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

MSSQL
讲解数据库调优与程序员相关的几个方面
揭开微软SQL Server 2008的神秘面纱
SQL Server 2008:表值参数的创建和使用
在SQL Server 2008中运用表值参数(TVP)
解读微软SQL Server 2008空间数据
微软SQL Server 2008 的新压缩特性
带你深入了解SQL Server 2008独到之处
如何使用SQL Server 2008升级顾问
详解SQL Server 2008中的联机事务处理
解读SQL Server 2008的新语句MERGE
使用SQL Server 2008进行服务器合并
SQL Server 2008:开辟崭新数据平台
微软数据平台开发与SQL Server 2008
微软SQL Server 2008之行值构造器
SQL Server 2008 数据加载创世界记录
浅析SQL2008的Change Data Capture功能
SQL Server大数据量统计系统的经验总结
详解Windows Server 2008中的NAP
SqlServer2005对现有数据进行分区具体步骤
无数据库日志文件恢复数据库方法两则(二)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 98 ::
收藏到网摘: 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


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