ホームページ >データベース >mysql チュートリアル >SQL Server 2008 には、挿入用の bcp のような一括削除コマンドはありますか?

SQL Server 2008 には、挿入用の bcp のような一括削除コマンドはありますか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-04 22:04:40431ブラウズ

Is There a Bulk Delete Command in SQL Server 2008 Like bcp for Inserts?

SQL Server 2008 での一括削除: 削除操作の一括コピーと並行

この調査では、一括削除操作の必要性が示されています。 SQL Server 2008 では、データの一括コピー操作 (bcp) に相当する直接的なソリューションが存在しないために発生します。 削除。このギャップに対処するために、ユーザーは WHERE 句の精度で一括削除を可能にする代替手段を求めています。

公式の回答では、SQL Server には特殊な一括削除コマンドが存在しないことが確認されています。ただし、望ましい結果を達成するための実用的な代替手段が提供されています。

一括削除

1 つの方法は、次の構文を使用して一括削除を実行することです:

SELECT 'Starting' --sets @@ROWCOUNT
WHILE @@ROWCOUNT <> 0
    DELETE TOP (xxx) MyTable WHERE ...

これにより、バッチ サイズ (xxx) を指定し、行がなくなるまで繰り返し行を削除できます。

ほとんどの行を削除するための代替削除戦略

大部分の行を削除する必要があるシナリオでは、より効率的なアプローチは、次の手順を使用することです。 :

SELECT col1, col2, ... INTO #Holdingtable
           FROM MyTable WHERE ..opposite condition..
TRUNCATE TABLE MyTable
INSERT MyTable (col1, col2, ...)
           SELECT col1, col2, ... FROM #Holdingtable

これには、削除しない行を含む一時保持テーブルを作成してから、メインテーブルを切り詰めます。最後に、保持テーブルのデータがメイン テーブルに再挿入されます。

以上がSQL Server 2008 には、挿入用の bcp のような一括削除コマンドはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。