我有一个 1m+ 记录的数据集。 我需要根据 order by 将查询输出到多个文件。
示例数据集:
ID StoreName StoreChain MoreData........
1 walmart NY Walmart ...
2 Walmarty NJ Walmart ....
3 Target NY Target ....
4 Costco NY Costco ....
示例查询
Select StoreName, SotreChain,moreData order by StoreName
我需要为每个商店名称编写。 (4 个文件)
Select StoreName, StoreChain,moreData order by StoreChain
我需要为每个链编写一个文件,(3个文件)
今天我使用 CLR SP,它工作正常,但有点慢(1 小时处理 1000 个文件,每个文件 200-400 行)
我想知道是否有一个纯T-SQL解决方案,如果需要可以使用命令shell。
并且每次创建文件时都必须写入日志表。
最佳答案
我相信最好的解决方案是使用 SQL Server Integration Services (SSIS) 包。您可以使用 Business Intelligence Development Studio (BIDS) 进行设计。
使用此功能,您可以将 T-SQL 指定为源,并将平面文件指定为查询的目标。
您甚至可以安排 SSIS 包定期运行。
关于sql-server-2008 - 如何根据查询结果在 SQL 中写入多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8668538/