データファイルにエクスポート中にbcpは出て行の順序を維持していますか?
-
19-09-2019 - |
質問
私は、行の順序が重要である行の1列のみが、何千もの巨大なテーブルからファイルにデータをエクスポートする必要があります。私は
以下のようにbcpコマンドを使用しています
bcp DBNAME.dbo.tblName out mydata.dat -Uusername -Ppassword -c
私は、テーブルには10行を持って、私は列の順序がデータファイルに保持されていることを確認してチェックを。しかし、私は行数が10000を超えると言っている場合bcpは秩序を維持すると仮定することができますか?
解決
私はそれはあなたがあなたのbcpコマンドで(ORDER BY
で)SQLステートメントを使用するかどうかだと思います:
http://www.sqlteam.com/記事/エクスポート・データをプログラム-と-BCP-と、xp_cmdshellをする
は、次の例を持っているところます:
SET @bcpCommand = 'bcp "SELECT * FROM pubs..authors
ORDER BY au_lname" queryout "'
他のヒント
あなたはORDER BY句を使用しない限り、SQL SELECT(またはBCP)は、特定の順序または同じ順序で値を返すことを想定してはいけません。
一般的に、値は、テーブルのインデックスに基づいた順序で返されます。
しかし、私は値がインデックス順序で返されていないケースを見てきました。キャッシュ内の行は、ディスク上の行は、インデックスの最初であったとしても、ディスクからの行の前に返却することができることが表示されます。
所属していません StackOverflow