[MySql] TCL-COMMIT, ROLLBACK, SAVEPOINT

hyun·2022년 9월 14일
0

SQL

목록 보기
6/7

📚 트랜잭션 (TransAction)

  • SELECT, INSERT, UPDATE, DELETE 등의 DML 명령어를 하나의 그룹으로 처리하는 논리적 단위
  • 단계적으로 실행하다가 다시 원상태로 되돌리고 싶으면 ROLLBACK을 이용한다.
  • 에러가 발생하지 않으면 COMMIT을 통해 트랜잭션을 실행한다.
  • SAVEPOINT를 통해 트랜잭션마다 저장소를 세울 수 있다.

트랜잭션 예제

COMMIT

COMMIT을 하게 되면 입력한 명령어가 영구적으로 적용된다.

BEGIN TRANSACTION;
** 트랜잭션할 명령어 입력 **
COMMIT;

ROLLBACK

BEGIN TRANSACTION;
** 트랜잭션할 명령어 입력 **
ROLLBACK;

만일 적용한 명령어가 마음에 들지 않으면 ROLLBACK 명령어를 통해 원상태로 돌릴 수 있다.

SAVEPOINT

BEGIN TRANSACTION;
** 트랜잭션할 명령어 입력 **
SAVEPOINT S1;
** 명령어 입력 **
ROLLBACK TO S1;

트랜잭션을 단계별로 나눠 ROLLBACK TO 명령어를 통해 원하는 SavePoint로 복원할 수 있다.

0개의 댓글