IT 일기장

[MSSQL] BEGIN TRAN 본문

프로그래밍 언어/SQL(DB)

[MSSQL] BEGIN TRAN

뽕슈 2021. 11. 30. 09:54
반응형

오라클의 경우 UPDATE, DELETE, INSERT 문을 실행하고 COMMIT, ROLLBACK를 지정할 수가 있다.

오라클 초기 설치시 자동으로 COMMIT을 하지 않기 때문이다.

 

이에 비해 MSSQL은 자동 COMMIT을 한다.

COMMIT 실행하지 않아도 자동으로 시스템에서 COMMIT을 하기 때문..

(물론 설정을 바꿀수는 있지만 그렇게 사용하는 사람이 많지 않을 거라는 개발팀 이사님의 말씀..)

 

결론은 MSSQL에서 ROLLBACK은 할 수가 없다.

 

ROLLBACK을 할수 있는 경우는 BEGIN TRAN를 사용하여 UPDATE, DELETE, INSERT 한 경우다.

아래 경우처럼 사용한 후 데이터가 이상이 없으면 COMMIT

이상이 있는 경우 ROLLBACK을 하면 끝.

 

BEGIN TRAN 
UPDATE dbo.MEMBER_INFO 
SET id = '9TP_COM0478_20210326', REPRE_NAME = '혜성기계_20210326'
WHERE id = '9TP_COM0478';

COMMIT;
ROLLBACK;
반응형
Comments