COMMIT (SQL)
1. 개요
COMMIT (SQL)은 SQL에서 RDBMS 내 데이터베이스 트랜잭션을 종료하고, 변경 사항을 다른 사용자가 볼 수 있도록 만드는 명령어이다. 일반적으로 `BEGIN WORK` 구문으로 시작하여 `COMMIT` 구문으로 종료되며, `ROLLBACK` 구문을 사용하여 이전 상태로 되돌릴 수도 있다. COMMIT은 SAVEPOINT와 함께 사용될 수도 있으며, 트랜잭션의 임시 변경 사항을 취소하는 롤백과 반대되는 개념이다.
| 용어 | 커밋 (Commit) |
|---|---|
| 설명 | 트랜잭션의 모든 변경 사항을 데이터베이스에 영구적으로 적용하는 프로세스이다. |
| 반대 기능 | 롤백 |
| 구문 (Transact-SQL) | COMMIT [TRANSACTION | WORK] [transaction_name] |
|---|---|
| 구문 (Oracle SQL) | COMMIT [WORK] [COMMENT 'text'] [FORCE integer]; |
| 설명 | 현재 트랜잭션의 모든 변경 사항을 저장한다. 트랜잭션은 데이터의 일관성을 보장하기 위해 사용된다. 커밋은 트랜잭션의 끝을 표시하고, 변경 사항을 데이터베이스에 영구적으로 저장한다. |
-
SQL -
사용자 정의 함수
사용자 정의 함수는 프로그래밍 언어와 데이터베이스 시스템에서 사용자가 직접 정의하여 재사용할 수 있는 코드 블록이다. -
SQL -
임베디드 SQL
임베디드 SQL은 호스트 프로그래밍 언어 내에 SQL 문을 삽입하여 데이터베이스와 상호 작용하는 기술로, 데이터베이스 액세스를 표준화하지만 보안 취약점과 이식성 저하의 단점도 가진다. -
데이터 관리 -
데이터 센터
-
데이터 관리 -
정보 아키텍처
정보 아키텍처는 정보 시스템 및 정보 기술 분야에서 공유 정보 환경의 구조적 설계를 의미하며, 웹사이트, 소프트웨어 등의 구성과 레이블링을 포함하여 검색 용이성과 사용성을 지원하고, 도서관정보학에 기원을 두고 있다. -
트랜잭션 처리 -
2단계 커밋 프로토콜
2단계 커밋 프로토콜은 분산 컴퓨팅 환경에서 트랜잭션의 원자성을 보장하는 분산 알고리즘으로, 조정자와 참가자로 구성되어 모든 참가자가 트랜잭션을 완료하거나 아무도 완료하지 못하도록 하며, 커밋 요청 및 커밋 단계를 거쳐 모든 참가자의 동의를 얻어야 커밋된다. -
트랜잭션 처리 -
온라인 트랜잭션 처리
온라인 트랜잭션 처리(OLTP)는 실시간 데이터베이스 트랜잭션 처리 방식으로, 가용성, 속도, 동시성, 내구성을 목표로 은행, 항공사, 전자 상거래 등에서 활용된다.
2. SQL COMMIT 명령어
SQL에서 `COMMIT`은 RDBMS 내 데이터베이스 트랜잭션을 종료하고 모든 변경 사항을 다른 사용자가 볼 수 있게 한다. 일반적인 형식은 `BEGIN WORK`로 시작하여 `COMMIT`으로 끝난다. `ROLLBACK`은 `BEGIN WORK`로 시작된 모든 작업을 이전으로 되돌리며, `COMMIT`은 SAVEPOINT를 사용할 수 있다.
커밋의 반대는 트랜잭션의 임시 변경을 포기하는 롤백이다.
2.1. 트랜잭션
트랜잭션은 데이터베이스에서 일련의 작업을 묶어 하나의 논리적인 단위로 처리하는 것이다. `BEGIN WORK` 구문으로 시작하여 `COMMIT` 또는 `ROLLBACK` 구문으로 종료된다.
SQL에서 `COMMIT`은 RDBMS 내에 있는 데이터베이스 트랜잭션을 종결시키고, 모든 변화를 다른 사용자들이 볼 수 있게 만들어 준다. 일반적인 형식은 `BEGIN WORK` 구문으로 시작하여 `COMMIT` 구문이 나오는 것이다. `ROLLBACK` 구문으로 시작될 수도 있는데, 이것은 `BEGIN WORK`로 시작된 모든 작업을 그 이전으로 되돌린다. `COMMIT` 구문은 또한 현존하는 SAVEPOINT가 사용될 수 있다.
트랜잭션 측면에서 커밋의 반대는 트랜잭션의 임시적인 변화를 포기하는 것(롤백)이다.
2.2. COMMIT의 역할
SQL에서 `COMMIT`은 RDBMS 내에 있는 데이터베이스 트랜잭션을 종료시키고, 모든 변화를 다른 사용자들이 볼 수 있게 만들어 준다. 일반적인 형식은 `BEGIN WORK` 구문으로 시작하여 `COMMIT` 구문이 나오는 것이다. `ROLLBACK` 구문으로 시작될 수도 있는데, 이것은 `BEGIN WORK`로 시작된 모든 작업을 그 이전으로 되돌린다. `COMMIT` 구문은 또한 현존하는 SAVEPOINT가 사용될 수 있을 것이다.
트랜잭션 측면에서 커밋의 반대는 트랜잭션의 임시적인 변화를 포기하는 것(롤백)이다.