Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Изменения: 5 декабря 2005 г.
Число строк, удаляемых инструкцией DELETE, можно ограничивать с помощью предложения TOP. Если с инструкцией DELETE применяется предложение TOP (n), то операция удаления производится над n случайно выбранных строк.
Например, следующая инструкция удаляет 20 случайных строк из таблицы PurchaseOrderDetail, имеющих дату ранее 1 июля 2002 г.:
USE AdventureWorks;
GO
DELETE TOP (20)
FROM Purchasing.PurchaseOrderDetail
WHERE DueDate < '20020701';
GO
Если необходимо с помощью предложения TOP удалять строки в значимом хронологическом порядке, то вместе с ним в инструкции вложенного запроса выборки следует использовать ORDER BY. Следующий запрос удаляет из таблицы PurchaseOrderDetail 10 строк, имеющих самую раннюю дату. Чтобы гарантировать удаление только 10 строк, столбец, указанный в инструкции подзапроса выборки (PurchaseOrderID) должен являться первичным ключом таблицы. Использование неключевого столбца в инструкции подзапроса выборки может привести к удалению более чем 10 строк, если указанный столбец содержит повторяющиеся значения.
USE AdventureWorks;
GO
DELETE FROM Purchasing.PurchaseOrderDetail
WHERE PurchaseOrderDetailID IN
(SELECT TOP 10 PurchaseOrderDetailID
FROM Purchasing.PurchaseOrderDetail
ORDER BY DueDate ASC);
GO
См. также
Основные понятия
Удаление строк с помощью инструкции DELETE
Удаление всех строк с помощью инструкции TRUNCATE TABLE
Удаление строк в результирующих наборах
Ограничение результирующих наборов с помощью предложений TOP и PERCENT
Другие ресурсы
TOP (Transact-SQL)
DELETE (Transact-SQL)
Удаление данных в таблице
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
| Версия | Журнал |
|---|---|
5 декабря 2005 г. |
|