SQL Server编写存储过程小工具(三),SQL Server编写存储过程小工具(三)
SQLServer编写存储过程小工具
功能:为给定表创建Update存储过程
语法: sp_GenUpdate <Table Name,<Primary Key,<Stored Procedure Name
以northwind 数据库为例
sp_GenUpdate Employees,EmployeeID,UPD_Employees
注释:如果您在Master系统数据库中创建该过程,那您就可以在您服务器上所有的数据库中使用该过程。
===========================================================*/
CREATE procedure sp_GenUpdate
@TableName varchar(130),
@PrimaryKey varchar(130),
@ProcedureName varchar(130)
as
set nocount on
declare @maxcol int,
@TableID int
set @TableID = object_id(@TableName)
select @MaxCol = max(colorder)
from syscolumns
where id = @TableID
select Create Procedure + rtrim(@ProcedureName) as type,0 as colorder into #TempProc
union
select convert(char(35),@ + )
+ rtrim()
+ case when rtrim() in (inary,char, char, varchar,varbinary,varchar) then ( + rtrim(convert(char(4),)) + )
when rtrim() not in (inary,char, char, varchar,varbinary,varchar) then
end
+ case when colorder < @maxcol then ,
when colorder = @maxcol then
end
as type,
colorder
from syscolumns
join systypes on =
where id = @TableID and < sysname
union
select AS,@maxcol + 1 as colorder
union
select UPDATE + @TableName,@maxcol + 2 as colorder
union
select SET,@maxcol + 3 as colorder
union
select + = @ +
+ case when colorder < @maxcol then ,
when colorder = @maxcol then
end
as type,
colorder + @maxcol + 3 as colorder
from syscolumns
join systypes on =
where id = @TableID and < @PrimaryKey and < sysname
union
select WHERE + @PrimaryKey + = @ + @PrimaryKey,(2 * @maxcol) + 4 as colorder
order by colorder
select type from #tempproc order by colorder
drop table #tempproc
/*=======源程序结束=========*/
如果觉得《SQL Server编写存储过程小工具(三)》对你有帮助,请点赞、收藏,并留下你的观点哦!