根据基本表结构及其数据生成SQL语句create  proc spGenInsertSQL
根据基本表结构及其数据生成SQL语句
@TableName as varchar(100)
根据基本表结构及其数据生成SQL语句
as
根据基本表结构及其数据生成SQL语句
--declare @TableName varchar(100)
根据基本表结构及其数据生成SQL语句--
set @TableName = 'orders'
根据基本表结构及其数据生成SQL语句--
set @TableName = 'eeducation'
根据基本表结构及其数据生成SQL语句
DECLARE xCursor CURSOR FOR
根据基本表结构及其数据生成SQL语句
SELECT name,xusertype
根据基本表结构及其数据生成SQL语句
FROM syscolumns
根据基本表结构及其数据生成SQL语句
WHERE (id = OBJECT_ID(@TableName))
根据基本表结构及其数据生成SQL语句
declare @F1 varchar(100)
根据基本表结构及其数据生成SQL语句
declare @F2 integer
根据基本表结构及其数据生成SQL语句
declare @SQL varchar(8000)
根据基本表结构及其数据生成SQL语句
set @sql ='SELECT ''INSERT INTO ' + @TableName + ' VALUES('''
根据基本表结构及其数据生成SQL语句
OPEN xCursor
根据基本表结构及其数据生成SQL语句
FETCH xCursor into @F1,@F2
根据基本表结构及其数据生成SQL语句
WHILE @@FETCH_STATUS = 0
根据基本表结构及其数据生成SQL语句
BEGIN
根据基本表结构及其数据生成SQL语句    
set @sql =@sql +
根据基本表结构及其数据生成SQL语句              
+ case when @F2 IN (35,58,99,167,175,231,239,61then ' + case when ' + @F1 + ' IS NULL then '''' else '''''''' end + '  else '+' end
根据基本表结构及其数据生成SQL语句              
+ 'replace(ISNULL(cast(' + @F1 + ' as varchar),''NULL''),'''''''','''''''''''')' 
根据基本表结构及其数据生成SQL语句              
+ case when @F2 IN (35,58,99,167,175,231,239,61then ' + case when ' + @F1 + ' IS NULL then '''' else '''''''' end + '  else '+' end
根据基本表结构及其数据生成SQL语句              
+ char(13+ ''',''' 
根据基本表结构及其数据生成SQL语句    
FETCH NEXT FROM xCursor into @F1,@F2
根据基本表结构及其数据生成SQL语句
END
根据基本表结构及其数据生成SQL语句
CLOSE xCursor
根据基本表结构及其数据生成SQL语句
DEALLOCATE xCursor
根据基本表结构及其数据生成SQL语句
set @sql = left(@sql,len(@sql- 5+ ' + '')'' FROM ' + @TableName
根据基本表结构及其数据生成SQL语句
print @sql
根据基本表结构及其数据生成SQL语句
exec (@sql
根据基本表结构及其数据生成SQL语句
根据基本表结构及其数据生成SQL语句第二版:
2003.03.08
根据基本表结构及其数据生成SQL语句
根据基本表结构及其数据生成SQL语句
alter proc SPGenInsertSQL (@tablename varchar(256))
根据基本表结构及其数据生成SQL语句
as
根据基本表结构及其数据生成SQL语句
begin
根据基本表结构及其数据生成SQL语句  
declare @sql varchar(8000)
根据基本表结构及其数据生成SQL语句  
declare @sqlValues varchar(8000)
根据基本表结构及其数据生成SQL语句  
set @sql =' ('
根据基本表结构及其数据生成SQL语句  
set @sqlValues = 'values (''+'
根据基本表结构及其数据生成SQL语句  
select @sqlValues = @sqlValues + cols + ' + '','' + ' ,@sql = @sql + '[' + name + '],' 
根据基本表结构及其数据生成SQL语句    
from 
根据基本表结构及其数据生成SQL语句        (
select case 
根据基本表结构及其数据生成SQL语句                  
when xtype in (48,52,56,59,60,62,104,106,108,122,127)                                
根据基本表结构及其数据生成SQL语句                       
then 'case when '+ name +' is null then ''NULL'' else ' + 'cast('+ name + ' as varchar)'+' end'
根据基本表结构及其数据生成SQL语句                  
when xtype in (58,61)
根据基本表结构及其数据生成SQL语句                       
then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'cast('+ name +' as varchar)'+ '+'''''''''+' end'
根据基本表结构及其数据生成SQL语句           
when xtype in (167)
根据基本表结构及其数据生成SQL语句                       
then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'
根据基本表结构及其数据生成SQL语句                  
when xtype in (231)
根据基本表结构及其数据生成SQL语句                       
then 'case when '+ name +' is null then ''NULL'' else '+'''N'''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'
根据基本表结构及其数据生成SQL语句                  
when xtype in (175)
根据基本表结构及其数据生成SQL语句                       
then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as Char(' + cast(length as varchar)  + '))+'''''''''+' end'
根据基本表结构及其数据生成SQL语句                  
when xtype in (239)
根据基本表结构及其数据生成SQL语句                       
then 'case when '+ name +' is null then ''NULL'' else '+'''N'''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as Char(' + cast(length as varchar)  + '))+'''''''''+' end'
根据基本表结构及其数据生成SQL语句                  
else '''NULL'''
根据基本表结构及其数据生成SQL语句                
end as Cols,name
根据基本表结构及其数据生成SQL语句           
from syscolumns  
根据基本表结构及其数据生成SQL语句          
where id = object_id(@tablename
根据基本表结构及其数据生成SQL语句        ) T 
根据基本表结构及其数据生成SQL语句  
set @sql ='select ''INSERT INTO ['+ @tablename + ']' + left(@sql,len(@sql)-1)+'' + left(@sqlValues,len(@sqlValues)-4+ ')'' from '+@tablename
根据基本表结构及其数据生成SQL语句  
--print @sql
根据基本表结构及其数据生成SQL语句
  exec (@sql)
根据基本表结构及其数据生成SQL语句
end
根据基本表结构及其数据生成SQL语句
根据基本表结构及其数据生成SQL语句第三版: 
2003.3.9
根据基本表结构及其数据生成SQL语句
根据基本表结构及其数据生成SQL语句
ALTER   proc SPGenInsertSQL (@tablename varchar(256))
根据基本表结构及其数据生成SQL语句
as
根据基本表结构及其数据生成SQL语句
begin
根据基本表结构及其数据生成SQL语句  
declare @sql varchar(8000)
根据基本表结构及其数据生成SQL语句  
declare @sqlValues varchar(8000)
根据基本表结构及其数据生成SQL语句  
set @sql =' ('
根据基本表结构及其数据生成SQL语句  
set @sqlValues = 'values (''+'
根据基本表结构及其数据生成SQL语句  
select @sqlValues = @sqlValues + cols + ' + '','' + ' ,@sql = @sql + '[' + name + '],' 
根据基本表结构及其数据生成SQL语句    
from 
根据基本表结构及其数据生成SQL语句        (
select case 
根据基本表结构及其数据生成SQL语句                  
when xtype in (48,52,56,59,60,62,104,106,108,122,127)                                
根据基本表结构及其数据生成SQL语句                       
then 'case when '+ name +' is null then ''NULL'' else ' + 'cast('+ name + ' as varchar)'+' end'
根据基本表结构及其数据生成SQL语句                  
when xtype in (58,61)
根据基本表结构及其数据生成SQL语句                       
then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'cast('+ name +' as varchar)'+ '+'''''''''+' end'
根据基本表结构及其数据生成SQL语句           
when xtype in (167,175)
根据基本表结构及其数据生成SQL语句                       
then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+''''''''' + ' end'
根据基本表结构及其数据生成SQL语句                  
when xtype in (231,239)
根据基本表结构及其数据生成SQL语句                       
then 'case when '+ name +' is null then ''NULL'' else '+'''N'''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+''''''''' + ' end'
根据基本表结构及其数据生成SQL语句                  
else '''NULL'''
根据基本表结构及其数据生成SQL语句                
end as Cols,name
根据基本表结构及其数据生成SQL语句           
from syscolumns  
根据基本表结构及其数据生成SQL语句          
where id = object_id(@tablenameand autoval is null
根据基本表结构及其数据生成SQL语句        ) T 
根据基本表结构及其数据生成SQL语句  
set @sql ='select ''INSERT INTO ['+ @tablename + ']' + left(@sql,len(@sql)-1)+'' + left(@sqlValues,len(@sqlValues)-4+ ')'' from '+@tablename
根据基本表结构及其数据生成SQL语句  
print @sql
根据基本表结构及其数据生成SQL语句  
exec (@sql)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-17
  • 2021-10-08
  • 2022-03-01
  • 2021-07-28
  • 2021-12-27
  • 2022-12-23
猜你喜欢
  • 2021-10-06
  • 2022-12-23
  • 2022-03-04
  • 2022-12-23
  • 2021-10-04
  • 2021-09-22
相关资源
相似解决方案