Truncate (SQL)

Truncate (SQL)
Правильный заголовок этой статьи — TRUNCATE. Он показан некорректно из-за технических ограничений.

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 в некоторых СУБД (например, Microsoft SQL Server) запрещена для таблиц, содержащих внешние ключи других таблиц.

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

Примечания

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



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Truncate (SQL)" в других словарях:

  • Truncate (SQL) — In SQL, the TRUNCATE statement removes all the data from a table. The TRUNCATE statement is not actually a part of the SQL standard, but many relational database management systems implement it. [ [http://dev.mysql.com/doc/refman/6.0/en/truncate.h… …   Wikipedia

  • SQL — Desarrollador(es) IBM ISO/IEC 9075 1:2008 Información general Paradigma Multiparadigma …   Wikipedia Español

  • SQL — Класс языка: Мультипарадигмальный Появился в: 1974 Автор(ы): Дональд Чэмбэрлин Рэймонд Бойс Релиз: SQL:2008 (2008) Типизация данных …   Википедия

  • SQL-92 — SQL 92  третья версия языка запросов к базам данных SQL. В отличие от стандарта SQL 89, третья версия стала весьма существенным обновлением языка. За исключением некоторых мелких противоречий стандарт SQL 89 практически полностью совместим… …   Википедия

  • SQL:2008 — SQL:2008  шестая версия (ревизия) языка запросов баз данных SQL. Содержание 1 Общие сведения 2 Новшества 3 …   Википедия

  • SQL — This article is about the database language. For the airport with IATA code SQL, see San Carlos Airport. SQL Paradigm(s) Multi paradigm Appeared in 1974 Designed by Donald D. Chamberlin Raymond F. Boyce Developer …   Wikipedia

  • SQL — Structured Query Language SQL Apparu en 1974 Auteur …   Wikipédia en Français

  • Delete (SQL) — У этого термина существуют и другие значения, см. Delete. DELETE  в языках, подобных SQL, DML операция удаления записей из таблицы. Критерий отбора записей для удаления определяется выражением where. В случае, если критерий отбора не… …   Википедия

  • Insert (SQL) — У этого термина существуют и другие значения, см. Insert. Правильный заголовок этой статьи  INSERT. Он показан некорректно из за технических ограничений. INSERT  оператор языка SQL, который позволяет добавить строки в таблицу, заполняя… …   Википедия

  • Select (SQL) — Правильный заголовок этой статьи  SELECT (SQL). Он показан некорректно из за технических ограничений. SELECT (англ., означает «выбрать»)  оператор DML языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»