[sql] SQL 데이터베이스에서 트랜잭션 처리하기.
데이터베이스에서 트랜잭션은 하나 이상의 데이터베이스 작업에 대한 논리적 단위를 형성합니다. 트랜잭션은 ‘원자성’, ‘일관성’, ‘격리성’, ‘지속성’ (ACID)이라는 특성을 가지고 있습니다. 이러한 특성은 데이터베이스 작업의 안전성과 일관성을 보장합니다.
트랜잭션의 시작과 종료
트랜잭션은 BEGIN TRANSACTION
문으로 시작되고, COMMIT
또는 ROLLBACK
문으로 종료됩니다. BEGIN TRANSACTION
이후에 실행된 모든 데이터베이스 작업은 트랜잭션에 속하게 됩니다.
BEGIN TRANSACTION;
-- 데이터베이스 작업 실행
COMMIT;
트랜잭션 롤백
트랜잭션 롤백은 트랜잭션을 초기 상태로 되돌리는 작업입니다. 이는 데이터베이스 작업 중에 오류가 발생했을 때 사용됩니다. 트랜잭션을 롤백하면 이전에 실행된 모든 데이터베이스 작업이 취소됩니다.
BEGIN TRANSACTION;
-- 데이터베이스 작업 실행
ROLLBACK;
트랜잭션 격리 수준
트랜잭션 격리 수준은 동시에 실행되는 다른 트랜잭션으로부터 트랜잭션을 격리하는 수준을 말합니다. 대표적으로 READ UNCOMMITTED
, READ COMMITTED
, REPEATABLE READ
, SERIALIZABLE
등의 격리 수준이 있습니다. 데이터베이스 시스템에 따라 이러한 격리 수준을 사용할 수 있습니다.
결론
트랜잭션은 데이터베이스에서 안전하고 일관된 작업을 수행할 수 있도록 도와줍니다. 이러한 트랜잭션을 효과적으로 다루기 위해서는 데이터베이스 시스템의 문서를 참조하는 것이 좋습니다.
더 자세한 정보는 Oracle Documentation 를 참고하세요.