WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

TRUNCATE — в языках, подобных SQL, DML — операция очистки всех строк в таблице. Логически схожа с операцией DELETE без оператора WHERE, но в ситуациях на практике имеет отличия[1][2][3].

Синтаксис

Общий синтаксис команды:

TRUNCATE TABLE <Имя Таблицы>

Последствием выполнения такой команды является полное удаление всех строк таблицы <Имя Таблицы>.

Отличия от оператора DELETE

Основные отличия операторов TRUNCATE и DELETE, которые могут присутствовать в различных реализациях СУБД:

  • Операция TRUNCATE не записывает в журнал событий удаление отдельных строк. Вследствие чего не может активировать триггеры.
  • После операции TRUNCATE для некоторых СУБД (например, Oracle) следует неявная операция COMMIT. Поэтому удаленные в таблице записи нельзя восстановить операцией ROLLBACK. Но существуют и СУБД, в которых операция TRUNCATE может участвовать в транзакциях, например, Microsoft SQL Server.
  • Операция DELETE блокирует каждую строку, а TRUNCATE — всю таблицу.
  • Операция TRUNCATE не возвращает какого-то осмысленного значения (обычно возвращает 0) в отличие от DELETE, которая возвращает число удаленных строк.
  • Операция TRUNCATE в некоторых СУБД (например, MySQL или Microsoft SQL Server), сбрасывает значение счетчиков (для полей с AUTOINCREMENT / IDENTITY).
  • Операция TRUNCATE в некоторых СУБД (например, MySQL или Microsoft SQL Server) запрещена для таблиц, содержащих внешние ключи других таблиц.

Реализация оператора TRUNCATE может зависеть от выбора конкретной СУБД. Поэтому в каждом случае необходимо изучать документацию выбранной системы.

Примечания

  1. Электронная документация по SQL Server. Оператор TRUNCATE TABLE.. Microsoft. Проверено 12 октября 2014. Архивировано 25 апреля 2012 года.
  2. MySQL Documentation. TRUNCATE TABLE Syntax.. Проверено 14 мая 2010 г. Архивировано 25 апреля 2012 года.
  3. Oracle® Database SQL Reference. 10g Release 2 (10.2).. Oracle Corporation. Проверено 14 мая 2010 г. Архивировано 25 апреля 2012 года.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии