SQL Удалить TOP оператор - PullRequest
       7

SQL Удалить TOP оператор

1 голос
/ 18 октября 2011

моя таблица (sql sever 2000) содержит большое количество строк, когда я удаляю строку, это очень медленно.

я видел некоторые сообщения / форум, которые предлагают использовать функцию цикла WHILE для удаления записи партиями.

мой sql:

DELETE FROM Tprs_master where Fincmonth='201109';

Я переписал:

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

, но он не работает.

как я могупереписать вышеупомянутый sql в DELETE TOP style?Спасибо

1 Ответ

5 голосов
/ 18 октября 2011

Страница УДАЛИТЬ MSDN содержит примеры и синтаксис

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

Примечание: только SQL Server 2005+

Также см. Дополнительные примеры. Массовое удаление в SQL Server 2008 (есть ли что-то вроде массового копирования (bcp) для удаления данных?)

Редактировать: OP имеет SQL Server 2000

SET ROWCOUNT 100
DELETE FROM Tprs_master where Fincmonth='201109';
SET ROWCOUNT 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...