| sp; end as Cols,name from syscolumns where id = object_id(@tablename) ) 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语句的存储过程 --建立存储过程,执行 proc_insert 表名 --感谢Sky_blue -- ======================================================
CREATE proc proc_insert (@tablename varchar(256)) as begin set nocount on declare @sqlstr varchar(4000) declare @sqlstr1 varchar(4000) declare @sqlstr2 varchar(4000) select @sqlstr=''''select ''''''''insert ''''+@tablename select @sqlstr1='''''''' select @sqlstr2='''' ('''' select @sqlstr1= '''' values ( ''''''''+'''' select @sqlstr1=@sqlstr1+col+''''+'''''''',''''''''+'''' ,@sqlstr2=@sqlstr2+name +'''','''' from (select case -- when a.xtype =173 then ''''case when ''''+a.name+'''' is null then ''''''''NULL'''''''' else ''''+''''convert(varchar(''''+convert(varchar(4),a.length*2+2)+''''),''''+a.name +'''')''''+'''' end'''' when a.xtype =104 then ''''case when ''''+a.name+'''' is null then ''''''''NULL'''''''' else ''''+''''convert(varchar(1),''''+a.name +'''')''''+'''' end'''' when a.xtype =175 then ''''case when ''''+a.name+'''' is null then ''''''''NULL'''''''' else ''''+''''''''''''''''''''''''''''''''''''+''''+''''replace(''''+a.name+'''','''''''''''''''''''''''''''''''','''''''''''''''''''''''''''''''''''''''''''''''')'''' + ''''+''''''''''''''''''''''''''''''''''''+'''' end'''' when a.xtype =61 then ''''case when ''''+a.name+'''' is null then ''''''''NULL'''''''' else ''''+''''''''''''''''''''''''''''''''''''+''''+''''convert(varchar(23),''''+a.name +'''',121)''''+ ''''+''''''''''''''''''''''''''''''''''''+'''' end''''
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页 |