LoginSignup
6
3

More than 5 years have passed since last update.

【Oracle】CREATE文『結果にコミットする』?

Posted at

1.はじめに

OracleのDBを使う事があるのだが、CREATE文を流す時に『あれっ?COMMITって必要ないの』となったので調べた事をメモ。

2.なぜ『あれっ?』てなったか

個人的にSELECT以外のDBの状態を変化させるような作業は全てCOMMITが必要と考えていた。
INSERT → COMMIT。DELETE → COMMIT。CREATE → Non COMMIT。
テーブル作成時にコミットしていないことに気づき、『結果にコミットしなくて良いのか?』となった。

3.DDL文は『暗黙コミット』

CREATE文などのデータ定義言語(DDL)文は、明示的にコミットしなくても暗黙的にコミットされるとのこと。
その他、SQL*PlusをEXITかQUITコマンドで終了した場合にも暗黙コミットされるとのこと。

<参考>
https://www.shift-the-oracle.com/transaction/commit.html
http://oraclemasterdb.seesaa.net/article/96566762.html

DDL例

 ・CREATE文 (CREATE TABLE,CREATE SEQUENCE,CREATE SYNONYM)
 ・ALTER文 (ALTER TABLE,ALTER USER)
 ・DROP文 (DROP TABLE,DROP SEQUENCE,DROP VIEW)
 ・TRUNCATE文
 ・RENAME文

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3