存储过程生成数据表的insert脚本
2011-03-08 14:05
127 查看
/****** Object: StoredProcedure [dbo].[Spgeninsertsql] Script Date: 10/27/2010 15:30:34 ******/ CREATE Proc [dbo].[Spgeninsertsql] (@Tablename Varchar(256)) As Begin /*当变量的字符数超过8000时,执行存储过程失败。*/ Declare @Sql Varchar(8000) Declare @Sqlvalues Varchar(8000) Set @Sql =' (' Set @Sqlvalues = 'values (''+' Select @Sqlvalues = @Sqlvalues + Cols + ' + '','' + ' ,@Sql = @Sql + '[' + Name + '],' From (Select Case When Xtype In (48,52,56,59,60,62,104,106,108,122,127) Then 'case When '+ Name +' Is Null Then ''null'' Else ' + 'cast('+ Name + ' As Varchar)'+' End' When Xtype In (58,61) Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'cast('+ Name +' As Varchar)'+ '+'''''''''+' End' When Xtype In (167) Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'replace('+ Name+','''''''','''''''''''')' + '+'''''''''+' End' When Xtype In (231) Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'replace('+ Name+','''''''','''''''''''')' + '+'''''''''+' End' When Xtype In (175) Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'cast(Replace('+ Name+','''''''','''''''''''') As Char(' + Cast(Length As Varchar) + '))+'''''''''+' End' When Xtype In (239) Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'cast(Replace('+ Name+','''''''','''''''''''') As Char(' + Cast(Length As Varchar) + '))+'''''''''+' End' Else '''null''' End As Cols,Name From Syscolumns Where (Id = Object_Id(@Tablename)) And (Autoval Is Null) ) T Set @Sql ='select ''insert Into ['+ @Tablename + ']' + Left(@Sql,Len(@Sql)-1)+') ' + Left(@Sqlvalues,Len(@Sqlvalues)-4) + ')'' From '+@Tablename --Print @Sql Exec (@Sql) End GO
相关文章推荐
- 将数据库表中的数据生成Insert脚本的存储过程
- MSSQL2K 将表数据生成INSERT SQL脚本的存储过程
- 一个把表中数据生成Insert脚本的通用存储过程
- 将Oracle表里的数据导出生成insert into 脚本
- 根据表中数据生成insert语句的存储过程
- SQLSERVER表数据生成INSERT语句(通用存储过程)
- SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程)
- 存储过程生成数据表的insert脚本(转)
- 将数据库表中的数据生成Insert脚本的存储过程(改版)
- 将表数据生成SQL脚本的存储过程
- 将表数据生成Insert脚本
- 将表数据生成Insert脚本 比较好用的生成插入语句的SQL脚本
- 根据基本表结构及其数据生成INSERT 语句的SQL脚本
- 自动生成Insert数据的SQL脚本
- 为sql server 数据库表数据生成insert 脚本
- SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程)
- 表数据生成insert脚本
- 根据数据库中数据表的内容导出insert... sql脚本的存储过程
- (转)根据表中数据生成insert语句的存储过程
- 【实用SQL脚本】生成数据发布的INSERT语句 推荐