|
自动生成对表进行插入和更新的存储过程的存储过程
来源:不详 作者 佚名 点击数: 录入时间:07-12-19 21:29:50
我找到了两个存储过程,能自动生成对一个数据表的插入和更新的存储过程,现在奉献给大家!
插入:
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, colorde[1] [2] [3] 下一页
|