/****** object: storedprocedure [dbo].[spgeninsertsql] script date: 02/01/2012 10:48:38 ******/
set ansi_nulls on
goset quoted_identifier on
goalter procedure [dbo].[spgeninsertsql]
@tablename varchar(256)
asbegin
declare @sql varchar(8000)
declare @sqlvalues varchar(8000)
set @sql =' ('
set @sqlvalues = 'values (''+'
select @sqlvalues = @sqlvalues + cols + ' + '','' + ' ,@sql = @sql + '[' + name + '],'
from
(select case
-- select * from systypes 來檢視各型別對應號碼
when xtype in (48,52,56,59,60,62,104,106,108,122,127) --int,real
then 'case when '+ name +' is null then ''null'' else ' + 'cast('+ name + ' as varchar)'+' end'
when xtype in (58,61) --datetime,samlldatetime
then 'case when '+ name +' is null then ''null'' else '+''''''''' + ' + 'cast('+ name +' as varchar)'+ '+'''''''''+' end'
when xtype in (167) --varchar
then 'case when '+ name +' is null then ''null'' else '+''''''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'
when xtype in (231)--nvarchar
then 'case when '+ name +' is null then ''null'' else '+'''n'''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'
when xtype in (175) --char
then 'case when '+ name +' is null then ''null'' else '+''''''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as char(' + cast(length as varchar) + '))+'''''''''+' end'
when xtype in (239) --nchar
then 'case when '+ name +' is null then ''null'' else '+'''n'''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as char(' + cast(length as varchar) + '))+'''''''''+' end'
else '''null'''
end as cols,name
from syscolumns
where autoval is null and id = object_id(@tablename) and xtype <>189 and xtype <>34 and xtype <>35 and xtype <>36
) t
set @sql ='select ''insert into ['+ @tablename + ']' + left(@sql,len(@sql)-1)+') ' + left(@sqlvalues,len(@sqlvalues)-4) + ')'' from '+@tablename
--print @sql
exec (@sql)
end
excel資料轉換成insert語句
excel 中有a b c三列資料,希望匯入到資料庫users表中,對應的字段分別是name,age 在你的excel 中增加一列,利用excel的公式自動生成sql語句,方法如下 1 增加一列 d列 2 在第一行的d列,就是d1中輸入公式 concatenate insert into users...
將Excel中的資料轉換成sql Insert語句
excel 中有a b c三列資料,希望匯入到資料庫users表中,對應的字段分別是name,age 在你的excel 中增加一列,利用excel的公式自動生成sql語句,方法如下 1 在你的excel 中增加一列 2 在第一行的d列,就是d1中輸入公式 concatenate insert int...
將Excel中的資料轉換成sql Insert語句
1.或者用sql server 2000 還有 匯入的方法就是mdb檔案,access 2003 中的方法但是有個列的問題。excel 中有a b c三列資料,希望匯入到資料庫users表中,對應的字段分別是name,age 在你的excel 中增加一列,利用excel的公式自動生成sql語句,方法...