トランザクション
SAVEPOINT
- 変更前の状態を記憶する。
ROLLBACK TO SAVEPOINT
- SAVEPOINT で記憶した状態に戻す。
ROLEBACK
- トランザクションを開始した記憶まですべて戻す。
- トランザクションが終了する。
- COMMIT後にロールバックはできない。
暗黙のロールバック
- SQL*PULSE, SQLDEVELOPERの異常終了時にロールバックされる。
- システム障害時にロールバックされる。
COMMIT
- トランザクションから開始した変更内容をすべて確定する。
- すべてのユーザが確定した内容を参照できる。
- ロックがすべて解除される
- SAVEPOINTがすべて削除される。
- トランザクションが終了する。
暗黙のコミット
- DDL(CREATE, ALTER,DROP)の発行後、コミットされる。
- DCL(GEANTE, REVOKE)の発行後、コミットされる。
- SQL*PULSE, SQLDEVELOPERの正常終了時にコミットされる。
明示的なコミット
SET AUTOCOMMIT {ON|OFF}
- デフォルトはON
- ONの場合、DML文発行後自動的にコミットされる。
- OFFの場合、COMMITされるまでロールバックが可能。
ロック
SELECT 列リスト FROM 表 [WHERE 条件] FOR UPDATE [OF 列名 [ {NOWAIT | WAIT n} ] ]
- デフォルトは WAIT
- NOWAIT は行ロックされていた場合、エラーとなる。
このページのURL: