ablog

不器用で落着きのない技術者のメモ

SQL*Plus で autocommit を使う

  • DMLが発行された時点で commit されるようにする。
SQL> set autocommit on
  • DMLが10回発行されたら commit されるようにする。
SQL> set autocommit 10
  • autocommit の設定を確認する。
SQL> show autocommit


実験してみる。
まず、autocommit on にして、insert してみる。

SQL> conn scott/tiger
SQL> show autocommit
autocommit OFF
SQL> set autocommit on
SQL> select ename from emp;

ENAME
----------
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS

ENAME
----------
JAMES
FORD
MILLER

14 rows selected.

SQL> insert into emp (empno, ename) values (15, 'NEO');

1 row created.

Commit complete.
SQL> rollback;

Rollback complete.

別セッションで確認してみると、

SQL> conn scott/tiger
SQL> select ename from emp;

ENAME
----------
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS

ENAME
----------
JAMES
FORD
MILLER
NEO

15 rows selected.

手動で commit を発行してないに、commit されている。


[参考]
SQL*Plusの基本