1. 학습
  2. /
  3. 강의
  4. /
  5. SQL Server에서의 트랜잭션과 오류 처리

Connected

연습 문제

오류가 날 경우 트랜잭션 롤백하기

첫 출근 날, 은행에서 송금이 발생할 때 이를 기록하는 트랜잭션을 설정하는 업무를 맡게 되었어요.

간단한 스크립트를 준비하려고 합니다. account_id = 1에서 $100이 출금되어 account_id = 5로 입금되고, 그 후 해당 이동 내역을 transactions 테이블에 기록하려는 것이죠. 모든 것을 제대로 작성했다고 생각하지만, 신중한 만큼 한 번 더 확인해 보려고 해요!

실제로는 실수가 있었습니다. 계정 5에 대한 새 거래를 INSERT 해야 하는데, 존재하지 않는 계정 500에 대해 INSERT해 버렸네요.

향후 오류를 방지하려면, 오류가 발생할 경우 모든 변경 사항을 롤백하도록 스크립트를 작성해야 합니다. 모든 단계가 정상적으로 완료되면 트랜잭션은 커밋되어야 합니다.

지침

100 XP
  • 트랜잭션을 시작하세요.
  • 작업의 실수를 수정하세요.
  • 오류가 없으면 트랜잭션을 커밋하세요.
  • CATCH 블록 안에서 트랜잭션을 롤백하세요.