私は小さなプロジェクトのためにデータベースを整理しています。テーブルを1000行に減らす最も効率的な方法は、それらの1000行を新しいテーブルにコピーして、古いテーブルを削除し、新しい名前を変更することだと聞きました。
誰かがこれが正しいかどうか、そして大まかにそれを行う方法を教えてもらえますか?
トップ1000を選択する方法は知っていますが、一時テーブルなどを使用してテーブルをドロップして作成する方法はわかりません。
INSERT INTO NEW_TABLE
SELECT TOP 1000 * FROM OLD_TABLE
DROP TABLE OLD_TABLE
これを実行して、新しいテーブルを作成できます。
SELECT TOP 1000 * INTO NewTable FROM OldTable
USING SELECT INTO は、新しいテーブルを作成します。この方法の欠点は、テーブルで鍵を紛失することです。
または、テーブルが存在する場合は、
INSERT INTO NewTable SELECT * FROM OldTable
ただし、Identity フィールドがある場合、これは機能しません。列名を指定する必要があります。
INSERT INTO NewTable (Field1, Field2,...) SELECT Field1, Field2...
ご覧のとおり、状況によって異なります。
テーブルを削除するのはとても簡単です:
DROP TABLE OldTable
幸運を。