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 문을 삽입하여 데이터베이스와 상호 작용하는 기술로, 데이터베이스 액세스를 표준화하지만 보안 취약점과 이식성 저하의 단점도 가진다. -
데이터베이스 관리 시스템 -
트랜잭션 처리
트랜잭션 처리는 데이터베이스 시스템에서 데이터의 일관성과 무결성을 보장하기 위한 기술이며, ACID 속성을 통해 데이터 정확성을 유지하고 롤백, 데드락 처리 등의 기술을 활용한다. -
데이터베이스 관리 시스템 -
저장 프로시저
저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다. -
데이터 관리 -
데이터 센터
-
데이터 관리 -
정보 아키텍처
정보 아키텍처는 정보 시스템 및 정보 기술 분야에서 공유 정보 환경의 구조적 설계를 의미하며, 웹사이트, 소프트웨어 등의 구성과 레이블링을 포함하여 검색 용이성과 사용성을 지원하고, 도서관정보학에 기원을 두고 있다.
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가 사용될 수 있을 것이다.
트랜잭션 측면에서 커밋의 반대는 트랜잭션의 임시적인 변화를 포기하는 것(롤백)이다.