Server编写存储过程小工具

作者:网络    发布时间:2020-04-25 19:53    浏览:

[返回]

核心提示:SQL Server编写存储过程小工具以下是两个存储过程的源程序

SQL Server编写存储过程小工具 以下是两个存储过程的源程序 /*===========================================================

语法: sp_GenInsert Table Name,Stored Procedure Name 以northwind 数据库为例 sp_GenInsert Employees, INS_Employees

注释:如果您在Master系统数据库中创建该过程,那您就可以在您服务器上所有的数据库中使用该过程。

=============================================================*/

CREATE procedure sp_GenInsert @TableName 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),@ + syscolumns.name) + rtrim(systypes.name) + case when rtrim(systypes.name) in (binary,char,nchar,nvarchar,varbinary,varchar) then ( + rtrim(convert(char(4),syscolumns.length)) + ) when rtrim(systypes.name) not in (binary,char,nchar,nvarchar,varbinary,varchar) then end + case when colorder @maxcol then , when colorder = @maxcol then end as type, colorder from syscolumns join systypes on syscolumns.xtype = systypes.xtype where id = @TableID and systypes.name sysname union select AS,@maxcol + 1 as colorder union select INSERT INTO + @TableName,@maxcol + 2 as colorder union select (,@maxcol + 3 as colorder union select syscolumns.name + case when colorder @maxcol then , when colorder = @maxcol then end as type, colorder + @maxcol + 3 as colorder from syscolumns join systypes on syscolumns.xtype = systypes.xtype where id = @TableID and systypes.name sysname union select ),(2 * @maxcol) + 4 as colorder union select VALUES,(2 * @maxcol) + 5 as colorder union select (,(2 * @maxcol) + 6 as colorder union select @ + syscolumns.name + case when colorder @maxcol then , when colorder = @maxcol then end as type, colorder + (2 * @maxcol + 6) as colorder from syscolumns join systypes on syscolumns.xtype = systypes.xtype where id = @TableID and systypes.name sysname union select ),(3 * @maxcol) + 7 as colorder order by colorder

select type from #tempproc order by colorder

drop table #tempproc

搜索