Maison > base de données > tutoriel mysql > Comment supprimer en toute sécurité les N premières lignes d'une table SQL Server sans tout supprimer ?

Comment supprimer en toute sécurité les N premières lignes d'une table SQL Server sans tout supprimer ?

Barbara Streisand
Libérer: 2024-12-17 01:32:25
original
593 Les gens l'ont consulté

How to Safely Delete the Top N Rows from a SQL Server Table Without Deleting Everything?

Suppression des 1 000 premières lignes d'une table dans SQL Server 2008 : un piège courant

Lorsqu'ils tentent de supprimer les 1 000 premières lignes d'une table, les développeurs rencontrent souvent des problèmes inattendus. comportement. Leur code, tel que le code fourni dans l'énoncé du problème, finit par supprimer la table entière au lieu de sa cible prévue.

Le problème réside dans le fait que l'exemple de code combine une instruction DELETE avec une instruction SELECT. L'instruction DELETE exécute les 1 000 premières lignes, supprimant ainsi tout le contenu du tableau. Pour corriger cela, nous devons définir un critère de classement spécifique pour la fonction TOP.

Une approche plus efficace pour supprimer les 1 000 premières lignes consiste à utiliser une expression de table commune (CTE) ou une expression de table similaire. Cela nous permet de spécifier les critères de classement au sein du CTE, comme le montre le code de réponse fourni :

;WITH CTE AS
(
SELECT TOP 1000 *
FROM [mytab]
ORDER BY a1
)
DELETE FROM CTE
Copier après la connexion

En utilisant cette technique, nous garantissons que seules les 1 000 premières lignes, classées par colonne « a1 » dans dans ce cas, sont destinés à être supprimés. Cette approche garantit le résultat souhaité sans risque de supprimer accidentellement le tableau entier.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal