Может ли команда SQL «обрезать таблицу» использоваться в транзакции? Я создаю приложение, и моя таблица имеет массу записей. Я хочу удалить все записи, но если приложение завершилось неудачно, я должен был отменить мою транзакцию. Удаление каждой записи занимает очень много времени. Мне интересно, использую ли я таблицу truncate, могу ли я отменить транзакцию и вернуть свои данные в случае сбоя. Я понимаю, что таблица truncate не записывает каждое удаление в журнал транзакций, но мне интересно, записывает ли он запись в журнал, чтобы откат работал.Таблица усечения внутри транзакции
ответ
В SQL Server вы можете отменить TRUNCATE из транзакции. Как вы упомянули, он записывает удаление страниц в журнал.
Спасибо, тонна сэр. –
В Oracle, TRUNCATE TABLE является оператором DDL, который нельзя использовать в транзакции (или, точнее, не может быть откат). AFAIK, если выполняется транзакция, когда выполняется оператор, транзакция фиксируется, а затем выполняется TRUNCATE и ее нельзя отменить.
В Informix поведение TRUNCATE несколько отличается; вы можете использовать TRUNCATE в транзакции, но после этого возможны только утверждения COMMIT и ROLLBACK.
Другие СУБД, вероятно, имеют свои собственные особенности работы TRUNCATE TABLE.
- 1. Временная таблица или фиксирующий стол для усечения?
- 2. MySQL транзакции - Update 2 Таблица
- 3. Равномерно распределенная случайная точка внутри усечения
- 4. TSQL logging внутри транзакции
- 5. Удалить после вставки внутри транзакции
- 6. Спецификация Oracle или SQL? : Таблица усечения с ограничениями внешнего ключа
- 7. PostgreSQL Ошибка 22012, деленное на нуль после усечения Таблица
- 8. Перспективы проблема рендеринга 2013: вложенная таблица усечения рядом текст
- 9. Получение идентификатора после вставки внутри транзакции (Oracle)
- 10. Обновление внутри прочитанной незафиксированной транзакции
- 11. Service Broker сообщений внутри транзакции
- 12. Alter MySQL Trigger внутри транзакции
- 13. Doing Flush() внутри активной транзакции
- 14. Установка временной метки внутри транзакции
- 15. Идентификатор автоинкремента резервации Внутри транзакции
- 16. Обновление без блокировки внутри транзакции
- 17. усечения строка
- 18. Идентификатор транзакции Oracle транзакции, вызвавшей срабатывание
- 19. Внутри Таблица каскадных Удалить
- 20. Таблица внутри таблицы mysql
- 21. таблица внутри колонны
- 22. Таблица внутри вложенной таблицы
- 23. Таблица внутри таблицы
- 24. Таблица внутри строки таблицы
- 25. Почему вставка 1M записей медленнее без транзакции, чем внутри транзакции?
- 26. Вызов WCF с netMsmqBinding внутри транзакции транзакции TransactionScope
- 27. Mysql транзакции в транзакции
- 28. Создание объекта, который находится точно внутри камеры усечения в Three.Js
- 29. Вызов функции усечения внутри цикла .each при заполнении опций выбора?
- 30. Таблица Mysql InnoDB для поиска elastics: ON UPDATE CURRENT TIMESTAMP внутри транзакции
Я должен был уточнить, что я использую сервер MSSQL 2005. –