Есть отличная статья о усечении , здесь суть вещей DB2
Почти соответствует стандарту. (Начиная с версии 9.7)
DB2 требует добавления ключевого слова IMMEDIATE в обычный оператор TRUNCATE TABLE, например:
TRUNCATE TABLE someschema.sometable IMMEDIATE
TRUNCATE TABLE должен быть первым оператором в транзакции. Транзакция, начинающаяся с TRUNCATE TABLE, может содержать другие операторы, но если откат транзакции выполняется, операция TRUNCATE TABLE не отменяется.
Операция DB2 TRUNCATE TABLE имеет ряд необязательных аргументов, подробнее об этом см. В документации; особенно, аргумент REUSE STORAGE может быть важен для специальных задач DBA.
В версиях DB2 <9.7 вы можете использовать оператор IMPORT. К сожалению, вам нужно знать, из какой операционной системы выполняется команда, чтобы это работало: </p>
В Unix-подобных системах:
ИМПОРТ ИЗ / dev / null OF DEL ЗАМЕНИТЬ НА имя таблицы
В Windows:
ИМПОРТ ИЗ NUL OF DEL ЗАМЕНИТЕ В tablename
ИМПОРТ нельзя злоупотреблять во всех контекстах. Например, при работе с динамическим SQL (из Java / .NET / PHP /... - без использования процессора командной строки db2) необходимо заключить команду IMPORT в вызов ADMIN_CMD, например ::
CALL ADMIN_CMD('IMPORT FROM /dev/null OF DEL REPLACE INTO tablename')
ИМПОРТ, по-видимому, разрешен в транзакции, связанной с другими операциями, однако это подразумевает немедленную операцию COMMIT.
Командой ALTER TABLE также можно злоупотреблять для быстрого опустошения таблицы, но она требует больше привилегий и может вызвать проблемы с восстановлением с повтором транзакций.
Это было взято с сайта:
http://troels.arvin.dk/db/rdbms/#bulk-truncate_table-db2