Si utilisez l'instruction select:Sélectionnez Haut (n) et Supprimer haut (n) même?
select top (18) * from pippo;
J'utilise l'instruction delete:
delete top (18) from pippo;
Je voudrais savoir si les 18 lignes sélectionnées et supprimées sont les mêmes.
Une aide?
EDIT après avoir accepté la réponse:
J'ai trouvé l'ici solution suivante: Delete the 'first' record from a table in SQL Server, without a WHERE condition
WITH q AS
(
SELECT TOP 18 *
FROM pippo
ORDER BY FIELD1 ASC /* You may want to add ORDER BY here */
)
DELETE
FROM q
Avec cette solution, je sorte toute la table "pippo" par FIELD1, puis-je supprimer la 18 premières lignes.
même si vous avez une clause 'ORDER BY', vous devez vous assurer qu'elle définit un ordre complet sur toutes les lignes, sinon elle sera encore mal définie (par exemple, s'il y a 50 lignes où a =' abc', alors 'top 18 ... order by a' pourrait choisir un autre 18 chaque fois) –