정미나닷컴

[Oracle] 오라클 트랜잭션 컨트롤 명령어 본문

IT

[Oracle] 오라클 트랜잭션 컨트롤 명령어

정미나 2010. 3. 9. 21:17

- COMMIT
저장되지 않은 모든 데이터를 데이터베이스에 저장하고 현재의 트랜잭션을 종료하라는 명령
 
- SAVEPOINT [이름]
현재까지의 트랜잭션을 특정 이름으로 지정하라는 명령
 
- ROLLBACK [TO  SAVEPOINT 이름]
저장되지 않은 모든 데이터 변경 사항을 취소하고 현재의 트랜잭션을 끝내라는 명령 (만약 이전에 SAVEPOINT로 지정한 이름이 있으면 그 위치까지 되돌아 감.
 
 
* Commit이나 Rollback없이 자동으로 트랜잭션이 종료되는 상황

- DDL(CREATE, ALTER, DROP) 명령어를 실행할 때
- DCL(GRANT, REVOKE) 명령어를 실행할 때
- Deadlock같은 특정 Error를 만날 때
- SQL*Plus를 종료할 때
 
즉, delete 쿼리문을 실행한 후 create 또는 alter 등의 명령어를 쓰게 되면 Rollback할 수 없다.