본문 바로가기

MSSQL

begin train

begin train은 실상황에서 쿼리를 실행(적용)했을 때,
발생 할 수 있는 오류상황을 최소화하기 위해 데이터를 미리 실행해 볼 때 사용된다.

미리 테스트 결과를 보여주고
다음에 적용되는 실행명령(commit /rollback)에 따라
실행쿼리를 적용할지 아니면 본연의 데이타로 돌아갈지를 결정한다.


Ex) 아이디가 abc인 회원의 주민번호를 수정 한다는것을 실수로 where을 빼먹었다고 가정해보자
그러면 모든 회원의 주민번호가 수정 될 것이다. 그럴때 begin tran을 사용했다면,
rollback tran을 실행하여 주민번호가 바뀌는 쿼리를 실행하기 전의 데이타로 돌아갈 수 있다.

 
   begin tran
   update member set mID = mID + '_Temp', mJumin='1111112222222' where = 'abc'-- 실행쿼리
 
   rollback tran

의도대로 쿼리의 실행결과를 얻었다면,
commit tran을 실행하면 된다.
 
   begin tran
   update member set mID = mID + '_Temp', mJumin='1111112222222' where = 'abc'-- 실행쿼리
 
   commit tran