如何从查询结果中编写SQL中的多个文件?

时间:2011-12-29 13:36:48

标签: sql-server-2008 tsql

我有一个1m +记录的数据集。 我需要根据订单输出查询到多个文件。

示例数据集:

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

我需要为每个Chain编写一个文件,(3个文件)

今天我使用的是CLR SP,它工作正常,但有点慢(1000个文件,每个200-400行1小时)

我想知道是否有纯T-SQL解决方案,如果需要它可以使用命令shell。

每次创建文件时都必须写入日志表。

2 个答案:

答案 0 :(得分:3)

我相信这里最好的解决方案是使用SQL Server Integration Services(SSIS)包。您可以使用Business Intelligence Development Studio(BIDS)进行设计。

使用此功能,您可以将T-SQL指定为源文件和平面文件作为查询的目的地。

您甚至可以安排SSIS包定期运行。

答案 1 :(得分:1)

我同意Shark的看法。您应该尝试使用SSIS包执行此操作。以下是几个教程的链接:

当您弄清楚如何使用该工具时,您将能够设置ssis包,以便在不到一分钟的时间内将数据从大表导入到另一个表。如果您打算处理大量数据,我肯定会推荐这个选项