추천, 2020

에디터의 선택

SQL의 COMMIT과 ROLLBACK의 차이점

COMMIT 및 ROLLBACK은 트랜잭션을 수행, 실행 또는 실행 취소하는 두 개의 트랜잭션 명령문입니다. 트랜잭션은 일련의 쿼리를 가질 수도 있고 데이터베이스를 수정하는 업데이트 문을 가질 수도 있습니다. COMMIT와 ROLLBACK의 근본적인 차이점은 작업에 있습니다. 트랜잭션이 성공적으로 실행되면 COMMIT 문은 데이터베이스의 트랜잭션에 의해 수정 된 내용을 영구적으로 유지합니다. 한편, 어떤 이유로 인해 트랜잭션이 성공적으로 실행되면 ROLLBACK 문은 현재 트랜잭션의 첫 번째 명령문에서부터 모든 업데이트를 취소합니다.

아래 비교 차트의 도움으로 SQL의 Commit 및 ROLLBACK 문의 차이점을 설명합시다.

비교 차트

비교의 근거범하다롤백
기본COMMIT는 현재 트랜잭션이 수행 한 수정 내용의 유효성을 검사합니다.ROLLBACK은 현재 트랜잭션의 수정 사항을 지 웁니다.
효과COMMIT 문의 실행 후에는 트랜잭션을 롤백 할 수 없습니다.ROLLBACK이 실행되면 데이터베이스는 이전 상태, 즉 트랜잭션의 첫 번째 명령문 실행 이전에 도달합니다.
발생COMMIT은 트랜잭션이 성공적으로 실행될 때 발생합니다.ROLLBACK은 실행 중간에 트랜잭션이 중단 될 때 발생합니다.
통사론범하다;롤백;

커밋의 정의

COMMIT 는 트랜잭션의 성공적인 완료를 알리는 SQL 문입니다. 트랜잭션이 인터럽트없이 트랜잭션의 실행을 완료 할 때마다 트랜잭션에 의한 데이터베이스에 대한 수정이 영구적이됩니다. 즉, 데이터베이스는 트랜잭션의 첫 번째 명령문 실행 이전의 상태를 회복 할 수 없습니다.

COMMIT 문의 구문은 다음과 같습니다.

범하다;

트랜잭션의 마지막 명령문이 끝나면 트랜잭션은 부분적으로 커밋 됩니다. 다음으로 복구 프로토콜 은 시스템 장애가 있어도 데이터베이스를 수정할 수 없으므로 수정 내용을 영구적으로 유지합니다. 이것이 확인 되 자마자 트랜잭션의 커밋 포인트 에 도달하고 마지막으로 트랜잭션이 커밋 된 상태가 됩니다. 트랜잭션이 커밋 된 상태가되면 롤백 할 수 없으며 새 트랜잭션이 시작됩니다.

롤백의 정의

COMMIT과 마찬가지로 ROLLBACK 도 SQL 문이며 트랜잭션이 성공적 으로 완료 되지 않았 음을 알립니다. 따라서 트랜잭션은 트랜잭션이 수행 한 변경 사항을 실행 취소 하기 위해 중단 됩니다. ROLLBACK을 실행 한 후에는 현재 트랜잭션에 의해 수행 된 수정이 유지되지 않습니다.

ROLLBACK 구문은 다음과 같습니다.

롤백;

트랜잭션 ROLLBACK은 트랜잭션 실행 중에 오류가 발생하면 필요합니다. 오류는 시스템 장애, 정전, 트랜잭션 문의 오류, 시스템 고장 일 수 있습니다. 정전 또는 시스템 고장의 경우 시스템이 다시 시작될 때 롤백이 발생합니다. ROLLBACK은 COMMIT가 아직 실행되지 않은 경우에만 발생할 수 있습니다.

SQL의 COMMIT와 ROLLBACK의 주요 차이점

  1. SQL의 COMMIT 및 ROLLBACK 문의 주요 차이점은 COMMIT 문의 실행으로 인해 현재 트랜잭션의 모든 수정 사항이 영구적으로 유지된다는 것입니다. 반면, ROLLBACK을 실행하면 현재 트랜잭션이 수행 한 모든 수정 사항이 지워집니다.
  2. COMMIT.이 실행되면 트랜잭션에 의해 수행 된 수정은 ROLLBACK이 될 수 없습니다. 그러나 ROLLBACK 문이 실행되면 데이터베이스는 이전 상태가됩니다.
  3. 트랜잭션 문이 성공적으로 실행되면 COMMIT가 실행됩니다. 그러나 ROLLBACK은 트랜잭션이 성공적으로 실행되지 않을 때 실행됩니다.

결론:

트랜잭션의 변경 사항이 데이터베이스에 영구 저장되도록하려면 트랜잭션이 성공적으로 완료된 후에 COMMIT를 사용하십시오. 트랜잭션이 실행 중 오류가 발생하여 트랜잭션이 수행 한 변경 사항을 취소하려면 ROLLBACK이 사용됩니다.

Top