트랜잭션 제어 명령문 정보

트랜잭션은 Oracle Database가 하나의 단위로 처리하는 하나 이상의 SQL 문 시퀀스입니다. 즉, 명령문을 모두 수행하거나 모두 수행하지 않는 하나의 단위로 취급됩니다. 여러 작업을 하나의 단위로 수행해야 하는 비즈니스 프로세스를 모델링할 트랜잭션이 필요합니다.

예를 들어, 관리자가 회사를 떠나는 경우 관리자의 부재 시기를 표시할 행을 JOB_HISTORY 테이블에 삽입해야 하며, 해당 관리자에게 보고하는 모든 직원의 MANAGER_ID 값을 EMPLOYEES 테이블에서 갱신해야 합니다. 응용 프로그램에서 이 프로세스를 모델링하려면 INSERT 및 UPDATE 문을 단일 트랜잭션으로 그룹화해야 합니다.

기본 트랜잭션 제어문은 SAVEPOINT, COMMIT 및 ROLLBACK입니다.

SQL*Plus 환경에서 SQL> 프롬프트가 표시된 후 트랜잭션 제어 명령문을 입력할 수 있습니다.

SQL Developer 환경에서 워크시트에 트랜잭션 제어 명령문을 입력할 수 있습니다. SQL Developer에는 "트랜잭션 커밋" 및 "트랜잭션 롤백"에 설명된 [변경 사항 커밋] 및 [변경 사항 롤백] 아이콘도 있습니다.

주의:

트랜잭션을 명시적으로 커밋하지 않은 상태와 프로그램이 비정상적으로 종료되면 데이터베이스는 커밋되지 않은 마지막 트랜잭션을 자동으로 롤백합니다.

이 동작으로 인해 응용 프로그램에서 트랜잭션을 커밋하거나 롤백하여 명시적으로 종료합니다.

참조: