sql >> Base de Datos >  >> RDS >> Sqlserver

ELIMINACIÓN masiva en SQL Server 2008 (¿Existe algo como Bulk Copy (bcp) para eliminar datos?)

No.

Quiere un DELETE con una cláusula WHERE:esto es SQL estándar.

Lo que puede hacer es eliminar por lotes como este:

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

O si desea eliminar un porcentaje muy alto de filas...

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