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 ?
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!