본문 바로가기
SQL(Oracle)

[SQL] 01. 트랜잭션(transaction)

by ssunooo 2024. 8. 16.

 

 

- 데이터베이스에서 일련의 연산을 하나의 단위로 묶어 실행하는 개념

주요속성

 

Atomicity (원자성)

- 트랜잭션 내의 모든 연산이 완료되거나 전혀 수행되지 않아야 함

- 트랜잭션의 모든 작업이 성공적으로 완료되어야 하며,

만약 실패하면 모든 변경 사항은 롤백되어 이전 상태로 되돌아가야 함

Consistency (일관성)

- 트랜잭션이 실행되기 전과 후의 데이터베이스 상태는 일관성을 유지해야 함

- 트랜잭션이 완료된 후 데이터베이스는 모든 정의된 제약 조건을 충족해야 합니다.

Isolation (격리성)

- 트랜잭션은 독립적으로 실행되어야 함

- 다른 트랜잭션의 중간 상태가 노출 x

- 각 트랜잭션은 다른 트랜잭션이 완료되기 전까지는 자신의 작업을 볼 수 없다

Durability (지속성)

- 트랜잭션이 완료된 후에는 모든 변경 사항이 영구적으로 저장되어야 함

- 시스템 장애가 발생하더라도 데이터는 손실되지 않아야 한다

주요명령어

BEGIN

- 트랜잭션의 시작 명시

COMMIT

- 트랜잭션 내의 모든 변경 사항을 데이터베이스에 영구적으로 저장

ROLLBACK

- 트랜잭션 취소, 트랜잭션 시작 전 롤백

 
BEGIN TRANSACTION;
트랜지션 시작 선언

BEGIN TRY
    실행문1
    실행문2
    ....
    실행문N
    -- 모든 작업이 성공적으로 수행되었음을 데이터베이스에 반영
    COMMIT;
END TRY
BEGIN CATCH
    ROLLBACK;
END CATCH;
try-catch문을 사용

 

 

2024.08.16