Instruction SQL Delete TOP

ma table (sql sever 2000) contient une grande quantité de lignes, quand je supprime une ligne, elle est extrêmement lente.

J'ai vu un message / forum qui suggère d'utiliser une fonction de boucle WHILE pour supprimer l'logging par lot.

mon sql est:

DELETE FROM Tprs_master where Fincmonth='201109'; 

J'ai réécrit à:

 DELETE FROM(SELECT TOP 100 FROM tprs_master) AS t1 WHERE t1.Fincmonth='201109' 

mais ça ne marche pas.

comment puis-je réécrire le sql ci-dessus pour supprimer le style TOP? Merci

La page MSDN DELETE donne des exemples et syntaxe

 DELETE TOP (100) FROM Tprs_master where Fincmonth='201109'; 

Remarque: SQL Server 2005+ uniquement

Voir aussi pour plus d'exemples Bulk DELETE sur SQL Server 2008 (Existe-t-il quelque chose comme Bulk Copy (bcp) pour supprimer des données?)

Edit: OP a SQL Server 2000

 SET ROWCOUNT 100 DELETE FROM Tprs_master where Fincmonth='201109'; SET ROWCOUNT 0