Maison >base de données >tutoriel mysql >Comment supprimer efficacement les 1 000 premières lignes d'une table SQL Server 2008 ?

Comment supprimer efficacement les 1 000 premières lignes d'une table SQL Server 2008 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-25 16:45:14338parcourir

How to Efficiently Delete the Top 1000 Rows from an SQL Server 2008 Table?

Suppression des 1 000 premières lignes d'une table SQL Server 2008

Dans SQL Server 2008, vous pouvez purger efficacement les 1 000 premiers enregistrements d'une table en utilisant une combinaison d’une expression de table commune (CTE) et d’une instruction delete ultérieure. Voici comment cela fonctionne :

Requête problématique originale :

Le code que vous avez initialement tenté supprime toutes les lignes du tableau car il se compose de deux instructions distinctes : une suppression suivie de une sélection. L'instruction select ne spécifie pas de critère de classement, ce qui entraîne la suppression de toutes les lignes.

Code corrigé à l'aide de CTE :

Pour résoudre ce problème, nous utilisons un CTE nommé « CTE » pour sélectionner les 1 000 premières lignes par ordre croissant en fonction de la colonne « a1 ». L'instruction de suppression suivante cible ensuite le CTE, garantissant que seuls ces enregistrements spécifiques sont supprimés :

;WITH CTE AS
(
  SELECT TOP 1000 *
  FROM [mytab]
  ORDER BY a1
)
DELETE FROM CTE

En employant cette méthode, vous pouvez supprimer efficacement le nombre souhaité de lignes de la table sans affecter les enregistrements restants.

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