Удаление строк из таблицы в SQL


Удаление строк из таблицы в SQL осуществляется с помощью следующей конструкции:
DELETE FROM <имя таблицы> [WHERE <предикат>|CURRENT OF <имя курсора>]

Примечания:
• CURRENT OF применяется для встроенного SQL.
• Предикат может включать запросы и запросы с подзапросами.

Примеры со значениями:
• DELETE FROM SalesPeople
• DELETE FROM SalesPeople WHERE SNum=1003

Примеры с запросом (с подзапросом):
• DELETE FROM SalesPeople WHERE SNum IN (SELECT SNum FROM Orders A WHERE Amt=(SELECT MIN(Amt) FROM Orders B WHERE A.ODate=B.ODate))
//возвращает наименьший ежедневный заказ и удаляет по номеру продавца, оформившего его.

Особенности DELETE в SQL SERVER:
• DELETE [TOP (<>) [PERCENT]] – задает количество или процент удаляемых строк. Обычно используется с запросом в курсоре или при отсутствии раздела WHERE.
• … [OPTION (<подсказки для запроса> [,…])] – позволяет указать подсказки для оптимизатора при выполнении запроса в курсоре.

Примеры DELETE в SQL SERVER:
• DELETE TOP (2.5) PERCENT FROM Orders


Комментарии запрещены.




Статистика