Оператор DELETE |
||
|
Оператор
Если предложение WHERE отсутствует, удаляются все строки из таблицы или представления (представление должно быть обновляемым). Более быстро эту операцию (удаление всех строк из таблицы) можно в Transact-SQL также выполнить с помощью команды
Однако есть ряд особенностей в реализации команды TRUNCATE TABLE, которые следует иметь в виду: не журнализируется удаление отдельных строк таблицы; в журнал записывается только освобождение страниц, которые были заняты данными таблицы; не отрабатывают триггеры, как следствие, эта команда неприменима, если на данную таблицу имеется ссылка по внешнему ключу; значение счетчика (IDENTITY) сбрасывается в начальное значение. Пример 6.3.1. Требуется удалить из таблицы Laptop все портативные компьютеры с размером экрана менее 12 дюймов.
Все блокноты можно удалить с помощью оператора
или
Transact-SQL расширяет синтаксис оператора DELETE, вводя дополнительное предложение FROM:
При помощи источника табличного типа можно конкретизировать данные, удаляемые из таблицы в первом предложении FROM. При помощи этого предложения можно выполнять соединения таблиц, что логически заменяет использование подзапросов в предложении WHERE для идентификации удаляемых строк. Поясним сказанное на примере. Пример 6.3.2. Пусть требуется удалить те модели ПК из таблицы Product, для которых нет соответствующих строк в таблице PC. Используя стандартный синтаксис, эту задачу можно решить следующим запросом:
Заметим, что предикат type = 'pc' необходим здесь, чтобы не были удалены также модели принтеров и портативных компьютеров. Эту же задачу можно решить с помощью дополнительного предложения FROM следующим образом:
Здесь применяется внешнее соединение, в результате чего столбец PC.model для моделей ПК, отсутствующих в таблице PC, будет содержать NULL-значение, что и используется для идентификации подлежащих удалению строк. |
||
| Брелоки металлические |
| Условия доставки по Екатеринбургу. Интернет-магазин сувениров. |
| bizgift.ru |
| Новые колеса |
| Правила катания. Общественные форумы и др. |
| unipol-service.ru |
| Радиатор на рио |
| О компании. Шины, диски колесные, двигатели, кузова и др. |
| autopartslist.ru |


