此脚本将指定表中的行导出到任何表结构的INSERT语句 . 所以,你只需要复制结果并在SSMS的sql文件中运行它 -

DECLARE

@TableName SYSNAME

, @ObjectID INT

, @IsImportIdentity BIT = 1

DECLARE [tables] CURSOR READ_ONLY FAST_FORWARD LOCAL FOR

SELECT

'[' + s.name + '].[' + t.name + ']'

, t.[object_id]

FROM (

SELECT DISTINCT

t.[schema_id]

, t.[object_id]

, t.name

FROM sys.objects t WITH (NOWAIT)

JOIN sys.partitions p WITH (NOWAIT) ON p.[object_id] = t.[object_id]

WHERE p.[rows] > 0

AND t.[type] = 'U'

) t

JOIN sys.schemas s WITH (NOWAIT) ON t.[schema_id] = s.[schema_id]

WHERE t.name IN ('')

OPEN [tables]

FETCH NEXT FROM [tables] INTO

@TableName

, @ObjectID

DECLARE

@SQLInsert NVARCHAR(MAX)

, @SQLColumns NVARCHAR(MAX)

, @SQLTinyColumns NVARCHAR(MAX)

WHILE @@FETCH_STATUS = 0 BEGIN

SELECT

@SQLInsert = ''

, @SQLColumns = ''

, @SQLTinyColumns = ''

;WITH cols AS

(

SELECT

c.name

, datetype = t.name

, c.column_id

FROM sys.columns c WITH (NOWAIT)

JOIN sys.types t WITH (NOWAIT) ON c.system_type_id = t.system_type_id AND c.user_type_id = t.user_type_id

WHERE c.[object_id] = @ObjectID

AND (c.is_identity = 0 OR @IsImportIdentity = 1)

AND c.is_computed = 0

AND t.name NOT IN ('xml', 'geography', 'geometry', 'hierarchyid')

)

SELECT

@SQLInsert = 'INSERT INTO ' + @TableName + ' (' + STUFF((

SELECT ', [' + c.name + ']'

FROM cols c

ORDER BY c.column_id

FOR XML PATH, TYPE, ROOT).value('.', 'NVARCHAR(MAX)'), 1, 2, '') + ')'

, @SQLTinyColumns = STUFF((

SELECT ', ' + c.name

FROM cols c

ORDER BY c.column_id

FOR XML PATH, TYPE, ROOT).value('.', 'NVARCHAR(MAX)'), 1, 2, '')

, @SQLColumns = STUFF((SELECT CHAR(13) +

CASE

WHEN c.datetype = 'uniqueidentifier'

THEN ' + '', '' + ISNULL('''''''' + CAST([' + c.name + '] AS VARCHAR(MAX)) + '''''''', ''NULL'')'

WHEN c.datetype IN ('nvarchar', 'varchar', 'nchar', 'char', 'varbinary', 'binary')

THEN ' + '', '' + ISNULL('''''''' + CAST(REPLACE([' + c.name + '], '''''''', '''''''''''' ) AS NVARCHAR(MAX)) + '''''''', ''NULL'')'

WHEN c.datetype = 'datetime'

THEN ' + '', '' + ISNULL('''''''' + CONVERT(VARCHAR, [' + c.name + '], 120) + '''''''', ''NULL'')'

ELSE

' + '', '' + ISNULL(CAST([' + c.name + '] AS NVARCHAR(MAX)), ''NULL'')'

END

FROM cols c

ORDER BY c.column_id

FOR XML PATH, TYPE, ROOT).value('.', 'NVARCHAR(MAX)'), 1, 10, 'CHAR(13) + '', ('' +')

DECLARE @SQL NVARCHAR(MAX) = '

SET NOCOUNT ON;

DECLARE

@SQL NVARCHAR(MAX) = ''''

, @x INT = 1

, @count INT = (SELECT COUNT(1) FROM ' + @TableName + ')

IF EXISTS(

SELECT 1

FROM tempdb.dbo.sysobjects

WHERE ID = OBJECT_ID(''tempdb..#import'')

)

DROP TABLE #import;

SELECT ' + @SQLTinyColumns + ', ''RowNumber'' = ROW_NUMBER() OVER (ORDER BY ' + @SQLTinyColumns + ')

INTO #import

FROM ' + @TableName + '

WHILE @x < @count BEGIN

SELECT @SQL = ''VALUES '' + STUFF((

SELECT ' + @SQLColumns + ' + '')''' + '

FROM #import

WHERE RowNumber BETWEEN @x AND @x + 9

FOR XML PATH, TYPE, ROOT).value(''.'', ''NVARCHAR(MAX)''), 1, 2, CHAR(13) + '' '') + '';''

PRINT(''' + @SQLInsert + ''')

PRINT(@SQL)

SELECT @x = @x + 10

END'

EXEC sys.sp_executesql @SQL

FETCH NEXT FROM [tables] INTO

@TableName

, @ObjectID

END

CLOSE [tables]

DEALLOCATE [tables]

在输出中你得到这样的东西(AdventureWorks.Person.Address):

INSERT INTO [Person].[Address] ([AddressID], [AddressLine1], [AddressLine2], [City], [StateProvinceID], [PostalCode], [rowguid], [ModifiedDate])

VALUES

(1, '1970 Napa Ct.', NULL, 'Bothell', 79, '98011', '9AADCB0D-36CF-483F-84D8-585C2D4EC6E9', '2002-01-04 00:00:00')

, (2, '9833 Mt. Dias Blv.', NULL, 'Bothell', 79, '98011', '32A54B9E-E034-4BFB-B573-A71CDE60D8C0', '2003-01-01 00:00:00')

, (3, '7484 Roundtree Drive', NULL, 'Bothell', 79, '98011', '4C506923-6D1B-452C-A07C-BAA6F5B142A4', '2007-04-08 00:00:00')

, (4, '9539 Glenside Dr', NULL, 'Bothell', 79, '98011', 'E5946C78-4BCC-477F-9FA1-CC09DE16A880', '2003-03-07 00:00:00')

, (5, '1226 Shoe St.', NULL, 'Bothell', 79, '98011', 'FBAFF937-4A97-4AF0-81FD-B849900E9BB0', '2003-01-20 00:00:00')

, (6, '1399 Firestone Drive', NULL, 'Bothell', 79, '98011', 'FEBF8191-9804-44C8-877A-33FDE94F0075', '2003-03-17 00:00:00')

, (7, '5672 Hale Dr.', NULL, 'Bothell', 79, '98011', '0175A174-6C34-4D41-B3C1-4419CD6A0446', '2004-01-12 00:00:00')

, (8, '6387 Scenic Avenue', NULL, 'Bothell', 79, '98011', '3715E813-4DCA-49E0-8F1C-31857D21F269', '2003-01-18 00:00:00')

, (9, '8713 Yosemite Ct.', NULL, 'Bothell', 79, '98011', '268AF621-76D7-4C78-9441-144FD139821A', '2006-07-01 00:00:00')

, (10, '250 Race Court', NULL, 'Bothell', 79, '98011', '0B6B739D-8EB6-4378-8D55-FE196AF34C04', '2003-01-03 00:00:00');

UPDATE:

对于任何表结构,此脚本在输出窗口中将指定表中的行导出为CSV格式 .

DECLARE

@TableName SYSNAME

, @ObjectID INT

DECLARE [tables] CURSOR READ_ONLY FAST_FORWARD LOCAL FOR

SELECT

'[' + s.name + '].[' + t.name + ']'

, t.[object_id]

FROM (

SELECT DISTINCT

t.[schema_id]

, t.[object_id]

, t.name

FROM sys.objects t WITH (NOWAIT)

JOIN sys.partitions p WITH (NOWAIT) ON p.[object_id] = t.[object_id]

WHERE p.[rows] > 0

AND t.[type] = 'U'

) t

JOIN sys.schemas s WITH (NOWAIT) ON t.[schema_id] = s.[schema_id]

WHERE t.name IN ('')

OPEN [tables]

FETCH NEXT FROM [tables] INTO

@TableName

, @ObjectID

DECLARE

@SQLInsert NVARCHAR(MAX)

, @SQLColumns NVARCHAR(MAX)

, @SQLTinyColumns NVARCHAR(MAX)

WHILE @@FETCH_STATUS = 0 BEGIN

SELECT

@SQLInsert = ''

, @SQLColumns = ''

, @SQLTinyColumns = ''

;WITH cols AS

(

SELECT

c.name

, datetype = t.name

, c.column_id

FROM sys.columns c WITH (NOWAIT)

JOIN sys.types t WITH (NOWAIT) ON c.system_type_id = t.system_type_id AND c.user_type_id = t.user_type_id

WHERE c.[object_id] = @ObjectID

AND c.is_computed = 0

AND t.name NOT IN ('xml', 'geography', 'geometry', 'hierarchyid')

)

SELECT

@SQLTinyColumns = STUFF((

SELECT ', [' + c.name + ']'

FROM cols c

ORDER BY c.column_id

FOR XML PATH, TYPE, ROOT).value('.', 'NVARCHAR(MAX)'), 1, 2, '')

, @SQLColumns = STUFF((SELECT CHAR(13) +

CASE

WHEN c.datetype = 'uniqueidentifier'

THEN ' + '';'' + ISNULL('''' + CAST([' + c.name + '] AS VARCHAR(MAX)) + '''', ''NULL'')'

WHEN c.datetype IN ('nvarchar', 'varchar', 'nchar', 'char', 'varbinary', 'binary')

THEN ' + '';'' + ISNULL('''' + CAST(REPLACE([' + c.name + '], '''', '''''''') AS NVARCHAR(MAX)) + '''', ''NULL'')'

WHEN c.datetype = 'datetime'

THEN ' + '';'' + ISNULL('''' + CONVERT(VARCHAR, [' + c.name + '], 120) + '''', ''NULL'')'

ELSE

' + '';'' + ISNULL(CAST([' + c.name + '] AS NVARCHAR(MAX)), ''NULL'')'

END

FROM cols c

ORDER BY c.column_id

FOR XML PATH, TYPE, ROOT).value('.', 'NVARCHAR(MAX)'), 1, 10, 'CHAR(13) + '''' +')

DECLARE @SQL NVARCHAR(MAX) = '

SET NOCOUNT ON;

DECLARE

@SQL NVARCHAR(MAX) = ''''

, @x INT = 1

, @count INT = (SELECT COUNT(1) FROM ' + @TableName + ')

IF EXISTS(

SELECT 1

FROM tempdb.dbo.sysobjects

WHERE ID = OBJECT_ID(''tempdb..#import'')

)

DROP TABLE #import;

SELECT ' + @SQLTinyColumns + ', ''RowNumber'' = ROW_NUMBER() OVER (ORDER BY ' + @SQLTinyColumns + ')

INTO #import

FROM ' + @TableName + '

WHILE @x < @count BEGIN

SELECT @SQL = STUFF((

SELECT ' + @SQLColumns + ' + ''''' + '

FROM #import

WHERE RowNumber BETWEEN @x AND @x + 9

FOR XML PATH, TYPE, ROOT).value(''.'', ''NVARCHAR(MAX)''), 1, 1, '''')

PRINT(@SQL)

SELECT @x = @x + 10

END'

EXEC sys.sp_executesql @SQL

FETCH NEXT FROM [tables] INTO

@TableName

, @ObjectID

END

CLOSE [tables]

DEALLOCATE [tables]

在输出中你得到这样的东西(AdventureWorks.Person.Person):

1;EM;0;NULL;Ken;J;Sánchez;NULL;0;92C4279F-1207-48A3-8448-4636514EB7E2;2003-02-08 00:00:00

2;EM;0;NULL;Terri;Lee;Duffy;NULL;1;D8763459-8AA8-47CC-AFF7-C9079AF79033;2002-02-24 00:00:00

3;EM;0;NULL;Roberto;NULL;Tamburello;NULL;0;E1A2555E-0828-434B-A33B-6F38136A37DE;2001-12-05 00:00:00

4;EM;0;NULL;Rob;NULL;Walters;NULL;0;F2D7CE06-38B3-4357-805B-F4B6B71C01FF;2001-12-29 00:00:00

5;EM;0;Ms.;Gail;A;Erickson;NULL;0;F3A3F6B4-AE3B-430C-A754-9F2231BA6FEF;2002-01-30 00:00:00

6;EM;0;Mr.;Jossef;H;Goldberg;NULL;0;0DEA28FD-EFFE-482A-AFD3-B7E8F199D56F;2002-02-17 00:00:00

java从数据库导出语音文件_从数据库导出数据相关推荐

  1. java调用帆软cpt文件_报表开发导出各种格式文件的API

    文件输出的多样性,准确性和稳定性对于我们常用的报表软件来说很重要.报表的输入是指从报表的模板文件(XML格式的)创建WorkBook对象,输出则指将报表保存为各种格式文件,比如Pdf.Excel.Wo ...

  2. 【JavaWeb开发】使用java实现简单的Excel文件的导入与导出(POI)

    前言:在实际的开发中,我们经常需要用户在界面中输入大量重复且有规律的数据,但是一个表单一个表单的填写效率过慢,而且过多的表单也会给JavaWeb的业务逻辑开发带来不小的困扰,所以我们可以使用一个Exc ...

  3. JAVA将文字转语音文件

    JAVA将文字转语音文件 public class MediaDemoApplication {public static void main(String[] args) {textToSpeech ...

  4. cad导出pdf_通过CAD导出的文件或者由CAD导出的PDF文件打印慢

    点击蓝色字关注我们吧!哈喽!小伙伴们大家好!今天我又带着知识点来了!今天和大家分享的是关于通过CAD导出的文件或者由CAD导出的PDF文件打印慢的问题分析以及解决方法! 不分机型 CAD直接打印或者导 ...

  5. oracle数据库怎么导出dat文件_论将数据从数据库导出为dat格式.docx

    论将数据库中的数据导出为dat格式 一.写作目的: 在生产过程中,往往需要将数据库中的某个表或者视图中的数据导出为某固定格式的文本文件,如txt.dat或xls等格式.本文以导出dat文件为例,详述在 ...

  6. mysql数据库导出mdf文件_数据库 导出mdf

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  7. 把服务器sql数据库导出excel文件,将mysql数据库数据以Excel文件的形式导出

    最近在工作中,领导让从数据库中导出一些数据并存放到Excel表格中,网上有许多教程,下面是我总结的其中俩种方法. 从数据库管理工具中导出(navicat) 在navicat导出数据导Excel中还是比 ...

  8. Java实现将本地.html文件以.docx文件格式导出并添加水印

    前言 作为一个刚刚入职的小白,面对领导给到的需求,很多时候要现学先做,然而不幸的是网上的资料冗杂,在尝试过程中会走不少的弯路,因此为了和我一样有相关需求的人,我简单记录一下这个需求最后实现的方式,希望 ...

  9. java并发读取相同的文件_高效读取大文件,再也不用担心 OOM 了!

    最近阿粉接到一个需求,需要从文件读取数据,然后经过业务处理之后存储到数据库中.这个需求,说实话不是很难,阿粉很快完成了第一个版本. 内存读取 第一个版本,阿粉采用内存读取的方式,所有的数据首先读读取到 ...

最新文章

  1. python 断点重传_性能调优-python SDK 调优
  2. Array.prototype.slice.call(arguments)对象转成数组
  3. C语言DP备忘计算指数N的斐波那契级数的算法(附完整源码)
  4. 如何通过使用注册项 (.reg) 文件添加、修改或删除注册表子项和值
  5. python做请求转发_RequestDispatcher实现请求转发
  6. 理解 XML Schema:XML Schema 初步 (I)
  7. 电脑计算器_教训!19年中级败给了电脑计算器,CPA难道要步后尘?
  8. 手动编译安装lanmp centos6.5 64位
  9. 高等数学:微分、积分物理以及几何意义
  10. 为什么建网站需要服务器,建网站需不需要服务器
  11. Animation动画播放
  12. 恋恋山城 Jean de Florette (1986) 男人的野心 / 弗洛莱特的若望 / 让·德·弗罗莱特 / 水源 下一部 甘泉,玛侬...
  13. 完美日记小红书社群运营:KOL的私域流量运营
  14. 获取百度首页的源代码
  15. 微信 心理测试 软件,敢不敢做一份微信版心理测试?
  16. 5.RefineDNet论文阅读
  17. [转载]ExtJS中grid按照中文拼音首字母排序、改变行背景、列背景、静态数据分页不再困难...
  18. 人力资源外包(HRO)服务市场现状研究分析-
  19. Linux-Mysql 源码包安装初始化报错
  20. 关于工程导论的读书计划表

热门文章

  1. 如何运营个人技术博客
  2. linux 限速工具 netem bridge
  3. bzoj 3999: [TJOI2015]旅游(树链剖分)
  4. 英语语法2-一般过去时
  5. Oracle 出现 ORA-00942 表或视图不存在问题的解决方法
  6. Oracle语言和字符集设置
  7. 什么是正向代理?什么是反向代理?
  8. 51单片机使用HC-SR501人体红外感应器C语言
  9. 3个月前被裁员了,心情跌落谷底,直到学姐给了我这份面试文档…
  10. python要安装文本编辑器吗_python安装后推荐的安装两款文本编辑器