2016-05-11 9 views
1

だから、データベースにあるSQLテーブルを持っています。私は並べ替え操作を実行しただけでなく、一定量のレコードをキャッチしましたが、今は私の目的はこれらの値を新しいデータベースに入力することです。ソート操作を考慮して、これをどのように行うことができますか?テーブル全体をエクスポートしてから、新しいデータベースで並べ替えを実行するほうが簡単でしょうか?私はSQL 2005を使用しています。特定のSQLデータベースのテーブルを新しいデータベースにエクスポートする

+2

テーブルには「ソート」または「オーダー」がありません。それらはデータの集まりです。データが特定の順序で返されるようにするには、クエリでそのデータを表現する必要があります。テーブルに入れるデータをソートしていると言っても意味がありません。 –

+0

実際には@ tom-hでは、クラスタ化インデックス、ASC(終了、デフォルト)またはDESC(終了)のいずれかに基づいてテーブルをソートできます。 https://msdn.microsoft.com/en-CA/library/ms190457.aspx –

+0

いいえ、それは単にデータの基になるストレージを決定するだけです。表自体には「ソート」という概念はありません。クラスタード・インデックスを持つテーブルから 'SELECT'を実行すると、その順序でデータを取得することが保証されません。それは微妙な違いかもしれませんが、それは非常に重要です。 –

答えて

1

新しいテーブルにデータを挿入する順序は関係ありません。クラスタード・インデックスをテーブルに配置すると、挿入された順序にかかわらず、データはインデックス順に格納されます。 (この順序で格納することは、クエリ結果がこの順序で出てくることを保証するものではありません)。

挿入順序が重要な唯一の例は、テーブルにIDENTITY列があり、自動的に設定することができます。 IDENTITYは、行が挿入される順序で増分されます。

あなたの質問を学術的なものとして扱い、特定の順序でデータをあるデータベースから別のデータベースにエクスポートしたい場合は、SSISデータフローを使用し、ソースコンポーネントのクエリでORDER BYを指定できます。

関連する問題