MS-SQL COMMIT과 ROLLBACK

MS-SQL SQL

문제점 😅

전에는 ORACLE을 사용했기 때문에, COMMIT과 ROLLBACK을 직접 실행시켜서 DB 데이터 처리를 진행했다. 현재 프로젝트는 MS-SQL을 사용하고 있고, 이전의 ORACLE 사용하던 때와는 달라서 몇 자 적어놓는다.

해결책 😏

ORACLE의 경우 INSERT, UPDATE, DELETE 문을 실행하고 나서 COMMIT 혹은 ROLLBACK을 실행시켜 데이터 처리가 가능하지만, MS-SQL은 보통 AUTO COMMIT(자동 커밋)을 한다. 따라서 우리는 트랜잭션(Transaction)을 잡아둬야 한다.

-- 1. 트랜잭션 설정
BEGIN TRAN;

-- 2. 데이터 조회
SELECT * FROM FRUIT_BASKET WHERE FRUIT_NAME = 'APPLE';

-- 3. 데이터 처리
UPDATE FRUIT_BASKET SET AMOUNT = 5 WHERE FRUIT_NAME = 'APPLE';

-- 4. 데이터 조회
SELECT * FROM FRUIT_BASKET WHERE FRUIT_NAME = 'APPLE';

-- 5-1. 최종 COMMIT
COMMIT TRAN;

-- 5-2. 이전 ROLLBACK
ROLLBACK TRAN;

마무리 😎

MS-SQL에서 INSERT, UPDATE, DELETE 문을 실행 시, 꼭 BEGIN TRAN; 실행 후 쿼리문 작성하는 습관을 들이자!

참고문헌 📝

https://keepcoding.tistory.com/6