sql >> Database >  >> RDS >> Sqlserver

Bulk DELETE op SQL Server 2008 (Is er zoiets als Bulk Copy (bcp) voor het verwijderen van gegevens?)

Nee.

U wilt een DELETE met een WHERE-clausule:dit is standaard SQL.

Wat u kunt doen, is batchverwijdering als volgt:

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

Of als u een zeer hoog percentage rijen wilt verwijderen...

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


  1. Hoe alle landinstellingen in MariaDB te tonen

  2. Hoe ORA-29913 met externe tabellen op te lossen?

  3. JSON_EXTRACT() – Gegevens retourneren uit een JSON-document in MySQL

  4. SQLite LIKE