트랜잭션 처리: COMMIT과 ROLLBACK의 역할과 활용법

2023. 11. 13. 19:29개발 문서/SQL

728x90
반응형

트랜잭션은 데이터베이스에서 한 개 또는 그 이상의 작업을 수행하는 논리적인 작업 단위입니다. 트랜잭션 처리는 데이터베이스에서 데이터 일관성과 무결성을 유지하기 위해 매우 중요합니다. 트랜잭션은 성공적으로 완료되었을 때 COMMIT을 사용하여 결과를 영구히 저장하거나, 문제가 발생했을 때 ROLLBACK을 사용하여 트랜잭션을 취소하고 이전 상태로 되돌립니다.

COMMIT의 역할과 사용법:

COMMIT은 하나 이상의 SQL 문이 성공적으로 실행되었을 때 트랜잭션을 확정하고 데이터베이스에 변경 사항을 영구히 저장하는 데 사용됩니다. 일반적으로 다음과 같이 사용됩니다:

-- 트랜잭션 시작
START TRANSACTION;

-- 여러 SQL 문 수행

-- 모든 작업이 성공적으로 완료되면 트랜잭션 확정
COMMIT;

예를 들어, 은행 계좌 이체를 수행하는 트랜잭션을 고려해보겠습니다:

-- 트랜잭션 시작
START TRANSACTION;

-- 송금자의 계좌에서 금액 차감
UPDATE accounts SET balance = balance - 100 WHERE account_number = 'sender_account';

-- 수취자의 계좌에 금액 추가
UPDATE accounts SET balance = balance + 100 WHERE account_number = 'recipient_account';

-- 모든 작업이 성공적으로 완료되면 트랜잭션 확정
COMMIT;

ROLLBACK의 역할과 사용법:

ROLLBACK은 트랜잭션을 취소하고, 트랜잭션 시작 전의 상태로 되돌리는 데 사용됩니다. 예를 들어, 트랜잭션 중에 오류가 발생했을 때 사용합니다. 일반적으로 다음과 같이 사용됩니다:

-- 트랜잭션 시작
START TRANSACTION;

-- 여러 SQL 문 수행

-- 오류가 발생했을 경우 트랜잭션 취소
ROLLBACK;

ROLLBACK은 트랜잭션 내에서 문제가 발생했을 때, 예를 들어 제약 조건 위반, 데이터베이스 오류 등을 감지하면 사용됩니다. 트랜잭션을 취소하고 이전 상태로 돌아가므로 데이터베이스의 일관성이 유지됩니다.

트랜잭션 처리는 데이터베이스에서 안전하고 신뢰성 있는 작업을 수행하기 위해 필수적인 개념이며, COMMITROLLBACK을 올바르게 사용하는 것이 중요합니다.