[解決済み] 主要なSQLデータベースでCREATE TABLEとALTER TABLEステートメントをロールバックすることは可能ですか?
2022-09-08 22:26:12
質問
DDLを発行するプログラムに携わっています。私は
CREATE TABLE
などのDDLをロールバックすることができるのか知りたいです。
- Postgres
- MySQL
- SQLite
- その他
各データベースがDDLでトランザクションを処理する方法を説明します。
どのように解決するのですか?
http://wiki.postgresql.org/wiki/Transactional_DDL_in_PostgreSQL:_A_Competitive_Analysis は、PostgreSQLの観点からのこの問題の概要を提供しています。
この文書によると、DDLはトランザクションなのでしょうか?
- PostgreSQL - はい
- MySQL - いいえ。DDL は暗黙のコミットを引き起こします。
- Oracle Database 11g Release 2 以上 - デフォルトでは「いいえ」ですが、エディションベースの再定義という代替案が存在します。
- Oracle の古いバージョン - いいえ。DDL は暗黙のコミットを引き起こします。
- SQL Server - はい
- Sybase Adaptive Server - はい
- DB2 - はい
- Informix - はい
- Firebird (Interbase) - はい
SQLite も同様に、トランザクション DDL を持つようです。私は
ROLLBACK
a
CREATE TABLE
ステートメントをSQLiteで使用します。その
CREATE TABLE
のドキュメントには、特別なトランザクションの'gotchas'は書かれていません。
関連
-
[解決済み] ストアドプロシージャ 'dbo.aspnet_CheckSchemaVersion' が見つかりませんでした。
-
[解決済み] 最初の行への結合方法
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] 各グループの上位1行を取得
-
[解決済み] SQLite - UPSERT *not* INSERT or REPLACE
-
[解決済み] SQLデータベースのテーブルでn番目の行を選択する方法は?
-
[解決済み] Entity Framework VS LINQ to SQL VS ADO.NETでストアドプロシージャを使う?[クローズド]
-
[解決済み] オラクル:テーブルが存在する場合
-
[解決済み] SQLクエリで特定のデータベースのすべてのテーブル名を取得しますか?
-
[解決済み】SQL Server - トランザクションは、エラー時にロールバックしますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
windows mysql prompt access denied for user ''@'localhost' to database.
-
MHAクラスタエラーサマリーの構築
-
[解決済み] Oracleの全テーブルのリストを取得しますか?
-
[解決済み] SQLのIN句をパラメータ化する
-
[解決済み] PostgreSQLからのPL/pgSQL出力をCSVファイルに保存する
-
[解決済み] SQL Serverにおける関数とストアドプロシージャの比較
-
[解決済み] T-SQLでnot equalには!=と<>のどちらを使うべきですか?
-
[解決済み] mysqldumpで特定のテーブルをスキップする
-
[解決済み] 項目xにアクセスできるように文字列を分割するにはどうすればよいですか?
-
[解決済み] 既存のカラムにIDを追加する