如何将sqlserver表中的数据导出sql语句或生成insert into语句 [转]
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何将sqlserver表中的数据导出sql语句或生成insert into语句 [转],小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4461字,纯文字阅读大概需要7分钟。
内容图文
![如何将sqlserver表中的数据导出sql语句或生成insert into语句 [转]](/upload/InfoBanner/zyjiaocheng/453/e7f1b5eaa7ce41aebb8a3a8b7ae1878d.jpg)
drop proc proc_insert //如果存在就删除
go
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 =127 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(20),‘+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‘
when a.xtype =106 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else
‘+‘convert(varchar(‘+convert(varchar(4),a.xprec+2)+‘),‘+a.name +‘)‘+‘
end‘
when a.xtype =62 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(23),‘+a.name +‘,2)‘+‘ end‘
when a.xtype =56 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(11),‘+a.name +‘)‘+‘ end‘
when a.xtype =60 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(22),‘+a.name +‘)‘+‘ end‘
when a.xtype =239 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else
‘+‘‘‘‘‘‘‘‘‘+‘+‘replace(‘+a.name+‘,‘‘‘‘‘‘‘‘,‘‘‘‘‘‘‘‘‘‘‘‘)‘ +
‘+‘‘‘‘‘‘‘‘‘+‘ end‘
when a.xtype =108 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else
‘+‘convert(varchar(‘+convert(varchar(4),a.xprec+2)+‘),‘+a.name +‘)‘+‘
end‘
when a.xtype =231 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else
‘+‘‘‘‘‘‘‘‘‘+‘+‘replace(‘+a.name+‘,‘‘‘‘‘‘‘‘,‘‘‘‘‘‘‘‘‘‘‘‘)‘ +
‘+‘‘‘‘‘‘‘‘‘+‘ end‘
when a.xtype =59 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(23),‘+a.name +‘,2)‘+‘ end‘
when a.xtype =58 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else
‘+‘‘‘‘‘‘‘‘‘+‘+‘convert(varchar(23),‘+a.name +‘,121)‘+ ‘+‘‘‘‘‘‘‘‘‘+‘ end‘
when a.xtype =52 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(12),‘+a.name +‘)‘+‘ end‘
when a.xtype =122 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(22),‘+a.name +‘)‘+‘ end‘
when a.xtype =48 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else ‘+‘convert(varchar(6),‘+a.name +‘)‘+‘ end‘
-- when a.xtype =165 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 =167 then ‘case when ‘+a.name+‘ is null then ‘‘NULL‘‘ else
‘+‘‘‘‘‘‘‘‘‘+‘+‘replace(‘+a.name+‘,‘‘‘‘‘‘‘‘,‘‘‘‘‘‘‘‘‘‘‘‘)‘ +
‘+‘‘‘‘‘‘‘‘‘+‘ end‘
else ‘‘‘NULL‘‘‘
end as col,a.colid,a.name
from syscolumns a where a.id = object_id(@tablename) and a.xtype
<>189 and a.xtype <>34 and a.xtype <>35 and a.xtype
<>36
)t order by colid
select @sqlstr=@sqlstr+left(@sqlstr2,len(@sqlstr2)-1)+‘) ‘+left(@sqlstr1,len(@sqlstr1)-3)+‘)‘‘ from ‘+@tablename
-- print @sqlstr
exec( @sqlstr)
set nocount off
end
go
select * from systypes
使用方法:
exec proc_insert 你的表名
选择【执行模式】为“以文本显示结果”,然后将运行后的结果存成.sql,加上用SQL Server生成的数据库脚本就可以了。
另 外可以利用第三方工具,导出饮食备注型字段的数据数据可以用powerbuilder。在database painter里面,用SQL选出,或者直接打开表,点击生成的list datawindow,然后在菜单file->save rows as->选择SQL,那么生成的SQL语句就包括建表和insert数据的SQL了。
还有最完善的方式就是自己编程实现导入导出,这样可以应对所有情况的数据转换。
如何将sqlserver表中的数据导出sql语句或生成insert into语句 [转]
标签:
本文系统来源:http://www.cnblogs.com/hjwtech/p/4662023.html
内容总结
以上是互联网集市为您收集整理的如何将sqlserver表中的数据导出sql语句或生成insert into语句 [转]全部内容,希望文章能够帮你解决如何将sqlserver表中的数据导出sql语句或生成insert into语句 [转]所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。