Database/MS-SQL | Posted by 아키텍처 2012. 4. 24. 18:19

TRANSACTION AUTO COMMIT 해제하기

 
 

ORACLE과 달리 MS-SQL의 TRANSACTION은 디폴트가 AUTO COMMIT 이다.


그러므로 쿼리를 처리할때 필히 주의를 요한다.


물론 디폴트 값을 바꿔 자동으로 COMMIT이 처리되지 않게 하는 방법도 있다.




Microsoft SQL Server Management Studio 의


도구 > 옵션 > 쿼리실행 > SQL Server > ANSI 에서


SET IMPLICIT_TRANSACTIONS 의 체크박스를 체크해주면 된다.


자 그럼 테스트를 해보자


DECLARE @TEMPTABLE TABLE

(

SEQ INT

)


INSERT INTO @TEMPTABLE (SEQ)

VALUES (1)


SELECT @@TRANCOUNT


자 서둘러 값이 1인것을 확인하고


ROLLBACK TRAN


으로 TRANSACTION 을 되돌린다.



이 설정 이후로는 TRANSACTION 처리를 꼭하자.


안그럼 디비가 곧 얼마 지나지 않아 뻗을것이다. ㅋㅋㅋ


^________^*

Posted by 김준홍 (http://www.Juuun.com)