|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
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 返回类别: 教程 上一教程: SQL SERVER 服务器安装剖析 下一教程: MYSQL JOIN详解 您可以阅读与"SQL SERVER编写存储过程小工具(二)"相关的教程: · SQL SERVER编写存储过程小工具(一) · SQL SERVER编写存储过程小工具(三) · 编写安全的SQL SERVER扩展存储过程 · SQL SERVER2000备份和恢复存储过程 · 启动SQL SERVER时自动执行存储过程 |
| 快精灵印艺坊 版权所有 |
首页 |
||