Maison >base de données >tutoriel mysql >Existe-t-il une commande de suppression groupée dans SQL Server 2008, comme bcp pour les insertions ?

Existe-t-il une commande de suppression groupée dans SQL Server 2008, comme bcp pour les insertions ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-04 22:04:40434parcourir

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

Suppression massive dans SQL Server 2008 : une copie parallèle à la copie groupée pour les opérations de suppression

Dans cette enquête, la nécessité d'une opération de suppression groupée dans SQL Server 2008 est dû à l'absence de solution directe comparable à l'opération Bulk Copy (bcp) pour la suppression de données. Pour combler cette lacune, les utilisateurs recherchent une alternative permettant une suppression massive avec la précision d'une clause WHERE.

La réponse officielle confirme l'absence d'une commande de suppression groupée spécialisée dans SQL Server. Cependant, il offre des alternatives pratiques pour obtenir le résultat souhaité.

Suppressions par lots

Une approche consiste à exécuter des suppressions par lots en utilisant la syntaxe suivante :

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

Cela vous permet de spécifier une taille de lot (xxx) et de supprimer des lignes de manière itérative jusqu'à ce qu'il n'y en ait plus. restent.

Stratégie de suppression alternative pour supprimer la plupart des lignes

Dans les scénarios où un grand pourcentage de lignes doivent être supprimées, une approche plus efficace consiste à utiliser les étapes suivantes :

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

Cela implique de créer une table de conservation temporaire contenant les lignes qui ne doivent pas être supprimées puis de tronquer la table principale. Enfin, les données de la table de maintien sont réinsérées dans la table principale.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn