SQL データベースにテーブルがあり、ランダム(主キーで null ではない) とカウント(ID が 1 ずつ増加) の 2 つのフィールドがあります。ランダム フィールドに 10 億のレコードを挿入する必要があります。一度に 1000 行を挿入できました。これは、SQL Insert ステートメントが処理できる最大値であるためです (ADO.NET を使用する C# コンソール アプリケーションで)。
挿入しようとしているデータはランダムですが、一意ではありません。そのため、「主キーの違反....」という例外が発生しています。重複する値のみを削除する代わりに、1000 行すべてが削除されます。
挿入ステートメント (私の場合は 1000) のすべてのレコードではなく、重複する値のみを削除することで、一意の値を挿入することは可能ですか?
また、DataTable と SQLBulkCopy を使用して値を挿入しようとしましたが、成功しませんでした。
シナリオ例: TableA
乱数
100 1
101 2
(ランダム) TableA 値 (102)、(103)、(100)、(104)、(105)、(101) に挿入します。
100 と 101 は重複した値です。これらの値 (100,101) のみを削除し、他のすべての値 (102,103,104,105) を挿入する方法はありますか? (私のプログラムでは、主キー違反のためにすべての値が削除されています)
これに関するヘルプは大歓迎です。
ありがとう