失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > SQL Server编写存储过程小工具(三)

SQL Server编写存储过程小工具(三)

时间:2019-01-04 23:49:13

相关推荐

SQL Server编写存储过程小工具(三)

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编写存储过程小工具(三)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。