我需要将数据从一个巨大的表只有一列列,但其中数千行的顺序很重要导出到文件中。我使用BCP命令,如下结果     bcp DBNAME.dbo.tblName out mydata.dat -Uusername -Ppassword -c结果 我用具有10行的表和我看到的行的顺序被保持在数据文件进行检查。但是,我可以承担BCP将维持秩序,如果行数是说超过10000?

有帮助吗?

解决方案

我觉得会,如果你在你的BCP命令使用SQL语句(与ORDER BY):

http://www.sqlteam.com/文章/出口数据-编程与 - BCP-和xp_cmdshell的

,其中它们具有以下示例:

SET @bcpCommand = 'bcp "SELECT * FROM pubs..authors 
   ORDER BY au_lname" queryout "' 

其他提示

您应该永远不要假设,除非你使用ORDER BY子句的SQL SELECT(或BCP)将返回按照一定的顺序或以相同的顺序值。

通常,这些值,以便基于在表中一个索引返回。

然而,我看到其中的值不是在索引顺序返回的情况。看来,在高速缓存行可以从磁盘的行之前,即使在磁盘上的行是在索引中的第一个被返回。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top