2015.09.15 08:49
트랜잭션을 사용하면 ROLLBACK을 통해 트랜잭션을 걸기전 시점으로 돌아갈 수 있습니다. 트랜잭션을 걸고 몇개의 행이 영향을 받는지 확인한 후 COMMIT할 수 있기 때문에 실수를 방지할 수 있습니다.
그래서 현재 실 서비스 중인 DB작업이나 여러 쿼리가 모두 연계되어 오류없이 실행되어야할 때 와 같은 실수가 있어서는 안되는 작업에 사용됩니다.
아래와 같이 여러 쿼리를 넣어 실행해보고 오류가 없을 때 COMMIT 해주면 됩니다.
ROLLBACK을 진행하거나 ROLLBACK, COMMIT없이 연결이 닫히거나 삭제되면 ROLLBACK으로 처리되어집니다.
BEGIN
BEGIN TRAN
UPDATE 테이블1 SET 컬럼 = '변경값'
UPDATE 테이블2 SET 컬럼 = '변경값'
END
IF @@ERROR <> 0
ROLLBACK
ELSE COMMIT
END