SQL "truncate table"コマンドをトランザクション内で使用できますか?私はアプリを作成していて、テーブルにはたくさんのレコードがあります。すべてのレコードを削除したいのですが、アプリが失敗した場合、私はトランザクションをロールバックしていました。各レコードを削除するのに非常に時間がかかります。 truncate tableを使用するかどうか、トランザクションをロールバックして、失敗した場合にデータを取り戻すことができますか?私は切り捨てテーブルがトランザクションログに各削除を書き込まないことに気づいていますが、ロールバックが機能するようにログにページの割り当て解除を書き込むかどうかは疑問です。トランザクション内でテーブルを切り捨てる
45
A
答えて
44
SQL Serverでは、トランザクションからTRUNCATEをロールバックできます。あなたが言及したように、ページの割り当てをログに書き出します。
+0
ありがとう、トン先生。 –
15
Oracleでは、TRUNCATE TABLEはトランザクションで使用できない(正確にはロールバックできない)DDL文です。 AFAIKは、文が実行されるときに進行中のトランザクションがある場合、トランザクションはコミットされ、TRUNCATEが実行され、元に戻すことはできません。
Informixでは、TRUNCATEの動作はわずかに異なります。トランザクションでTRUNCATEを使用できますが、それ以降に許可される文はCOMMITおよびROLLBACKだけです。
他のDBMSは、おそらく、TRUNCATE TABLEの動作の独自の解釈を持っています。
関連する問題
- 1. トランザクションと切り捨てデータベースクリーナー
- 2. テーブル2でテーブル2を切り捨て、テーブル2を切り捨てます
- 3. 切り捨てSQL Serverのトランザクション・ログ・ファイル
- 4. テーブルをレールコンソールで切り捨てます
- 5. Laravel 5のテーブルを切り捨てる
- 6. テーブルを切り捨てる権限
- 7. データベース内のテーブルを切り捨てるT-SQLストアドプロシージャ
- 8. テーブル名を 'order'にしてforeach内のテーブルを切り捨てる
- 9. Tableauはテーブル内のフィールドを切り捨てます
- 10. SAS LASRテーブルの切り捨て
- 11. Slick 3テスト用の切り捨てテーブル
- 12. ストリーミング前のBigQueryテーブルの切り捨て
- 13. cakephpでシードする前にテーブルを切り捨てる
- 14. 切り捨て、1つのトランザクションに挿入MySQL
- 15. テーブルをALTERパーミッションで切り捨てる問題
- 16. Spring/Hibernateテーブルからすべての行を切り捨てる/削除する - トランザクションの問題
- 17. greenDAOを使用してテーブルを切り捨てる方法
- 18. 切り捨てDrRacket
- 19. 配列のソートと切り捨て/切り捨て
- 20. すべてのテーブルを切り捨てる - ルーム
- 21. sqlite3は私のテキスト列を切り捨てる/切り捨てる
- 22. 切り捨てではなく切り捨てを行う部分
- 23. VBAでdoubleを切り捨てる
- 24. カラムデータをハイブで切り捨てる
- 25. substrで単語を切り捨てる
- 26. PythonでHTMLを切り捨てる
- 27. ブートストラップでテキストを切り捨てる
- 28. PHPでテキストを切り捨てる?
- 29. `.createSQLQuery`で切り捨てた後、スプリング/ハイバネートはトランザクションをロールバックしません
- 30. Magento:切り捨てられた "core_config_data"テーブルを手動で復元するテーブル
私はMSSQL 2005サーバーを使用していることを明確にすべきでした。 –