본문 바로가기

Database/Oracle

오라클 트랜잭션(transaction)

■ 트랜잭션(transaction)
 트랜잭션은 하나의 논리적 작업 단위로 수행되는 일련의 작업으로 테이블에 INSERT, UPDATE, DELETE 문으로 지시

 

COMMIT 을 실행하면 모든 변경 사항이 영구히 데이터베이스에 저장

 

ROLLBACK은 마지막 COMMIT이나 ROLLBACK 이후의 변경 사항을 취소하고 데이터베이스를 원래의 상태로 되돌려 줌

 

즉, 트랜잭션에서 데이터베이스를 변경하라는 명령이 COMMIT이고, COMMIT 전까지 변경된 것을 되돌리는 것이 ROLLBACK

 

-- COMMIT


-- ROLLBACK


-- SAVEPOINT
   -- 트랜잭션 내의 한 시점을 표시한다.
   -- ROLLBACK TO SAVEPOINT 명령어로 표시 지점까지 ROLLBACK하는데 쓰인다.

-- SET TRANSACTION : 다양한 트랜잭션 속성을 지정

-- SET AUTOCOMMIT
sql>SHOW AUTOCOMMIT -- 상태확인
AUTOCOMMIT OFF
sql>SET AUTOCOMMIT ON
sql>SHOW AUTOCOMMIT
AUTOCOMMIT IMMEDIATE
sql>SET AUTOCOMMIT 3
sql>SHOW AUTOCOMMIT
모든 3 DML문에 AUTOCOMMIT ON
sql>SET AUTOCOMMIT OFF

-- LOCK : 현재의 트랜잭션이 사용하고 있는 데이터에 대해 다른 트랜잭션의 검색이나 변경을 막아 여러 트랜잭션이 동시에 같은 데이터를 사용 할 수 있도록 하는 것