TRUNCATE TABLE table_name
В версии 3.23 TRUNCATE TABLE
выполняет последовательность "COMMIT ; DELETE FROM table_name"
. See Раздел 6.4.6, «Синтаксис оператора DELETE
».
TRUNCATE TABLE
имеет следующие отличия от DELETE FROM ...
:
Эта операция удаляет и воссоздает таблицу, что намного быстрее, чем поочередное удаление строк.
Операция является нетранзакционной; если одновременно выполняется транзакция или активная блокировка таблицы, то можно получить ошибку.
Не возвращает количество удаленных строк.
Пока существует корректный файл
table_name.frm
, таблицу можно воссоздать с его с помощью, даже если файлы данных или индексов повреждены.
TRUNCATE
является расширением Oracle SQL.