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

MSSQL
SQl 跨服务器查询语句
sql2005 HashBytes 加密函数
防止SQLSERVER的事件探查器跟踪软件
Excel导入Sqlserver数据库脚本
sql cast,convert,QUOTENAME,exec 函数学习记录
select into 和 insert into select 两种表复制语句
sqlserver 日志恢复方法(搞定drop和truncate)
海量数据库查询语句
DBCC CHECKIDENT 重置数据库标识列从某一数值开始
MSSQL 数据库同步教程
sql 语句中的 NULL值
判断一个表的数据不在另一个表中最优秀方法
SQL货币数字转英文字符语句
executesql 存储过程
sql 查询结果合并union all用法_数据库技巧
SQLServe 重复行删除方法
SQLServer 数据修复命令DBCC一览
SQLSERVERS 数据整理方法
根据多条件查询临时表 想得到不同结果集的方法
sqlServer 获取汉字字串的拼音声母

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


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

 

eNet技术学院,版权所有

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


Sp_GenInsert

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

语法如下

sp_GenInsert < Table Name >,< Stored Procedure Name >

以northwind 数据库为例

sp_GenInsert ’Employees’, ’INS_Employees’

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


Sp_GenUpdate

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

sp_GenUpdate < Table Name >,< Primary Key >,< Stored Procedure Name >

以northwind 数据库为例

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

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

Create Procedure UPD_Employees

@EmployeeID int

@LastName nvarchar(40) ,

@FirstName nvarchar(20) ,

@Title nvarchar(60) ,

@TitleofCourtesy nvarchar(50) ,

@BirthDate datetime ,

@HireDate datetime ,

@Address nvarchar(120) ,

@City nvarchar(30) ,

@Region nvarchar(30) ,

@PostalCode nvarchar(20) ,

@Country nvarchar(30) ,

@HomePhone nvarchar(48) ,

@Extension nvarchar(8) ,

@Phote image ,

@Notes ntext ,

@ReportsTo int ,

@PhotoPath nvarchar(510)

AS

UPDATE Employees

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

WHERE EmployeeID = @EmployeeID


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