主要な SQL データベースで CREATE TABLE および ALTER TABLE ステートメントをロールバックすることは可能ですか? [closed] 質問する

主要な SQL データベースで CREATE TABLE および ALTER TABLE ステートメントをロールバックすることは可能ですか? [closed] 質問する

CREATE TABLE私はDDLを発行するプログラムに取り組んでいます。同様のDDLをロールバックできるかどうかを知りたいです。

  • ポストグレ
  • マイグレーション
  • SQLite
  • その他

各データベースが DDL を使用してトランザクションを処理する方法を説明します。

ベストアンサー1

http://wiki.postgresql.org/wiki/Transactional_DDL_in_PostgreSQL:_A_Competitive_AnalysisPostgreSQL の観点からこの問題の概要を説明します。

このドキュメントによれば、DDL はトランザクション型ですか?

  • PostgreSQL - はい
  • MySQL - いいえ。DDL は暗黙的なコミットを引き起こします。
  • Oracle Database 11g リリース 2 以降 - デフォルトではいいえですが、エディションベースの再定義と呼ばれる代替手段が存在します。
  • Oracle の古いバージョン - いいえ。DDL は暗黙的なコミットを引き起こします。
  • SQL Server - はい
  • Sybase Adaptive Server - はい
  • DB2 - はい
  • Informix - はい
  • Firebird (Interbase) - はい

SQLite にもトランザクション DDL があるようです。SQLite でステートメントを実行することができましたROLLBACKCREATE TABLEドキュメントには、CREATE TABLE特別なトランザクションの「落とし穴」については何も記載されていません。

おすすめ記事