SQL SERVER数据导成INSERT

王朝mssql·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

create proc spGenInsertSQL

@TableName as varchar(100)

as

--declare @TableName varchar(100)

--set @TableName = 'orders'

--set @TableName = 'eeducation'

DECLARE xCursor CURSOR FOR

SELECT name,xusertype

FROM syscolumns

WHERE (id = OBJECT_ID(@TableName))

declare @F1 varchar(100)

declare @F2 integer

declare @SQL varchar(8000)

set @sql ='SELECT ''INSERT INTO ' + @TableName + ' VALUES('''

OPEN xCursor

FETCH xCursor into @F1,@F2

WHILE @@FETCH_STATUS = 0

BEGIN

set @sql =@sql +

+ case when @F2 IN (35,58,99,167,175,231,239,61) then ' + case when ' + @F1 + ' IS NULL then '''' else '''''''' end + ' else '+' end

+ 'replace(ISNULL(cast(' + @F1 + ' as varchar(8000)),''NULL''),'''''''','''''''''''')'

+ case when @F2 IN (35,58,99,167,175,231,239,61) then ' + case when ' + @F1 + ' IS NULL then '''' else '''''''' end + ' else '+' end

+ char(13) + ''','''

FETCH NEXT FROM xCursor into @F1,@F2

END

CLOSE xCursor

DEALLOCATE xCursor

set @sql = left(@sql,len(@sql) - 5) + ' + '')'' FROM ' + @TableName

exec (@sql)

go

EXEC spGenInsertSQL *TBLNAME*

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航