본문 바로가기

프로그래밍/MSSQL

[MSSQL] 0으로 나누기 오류가 발생했습니다.

반응형

 

 

 

 

 

0으로 나누기 오류가 발생했습니다.

해당 쿼리 상단에 SET 선언

 

SET ANSI_WARNINGS OFF
SET ARITHIGNORE ON
SET ARITHABORT OFF

 

 

SET ANSI_WARNINGS ON/OFF

값을 ON으로 설정하면 0으로 나누기 및 산술 오버플로 오류로 인해 명령이 취소되고 오류 메세지가 발생한다.

값을 OFF로 설정하면 0으로 나누기 및 산술오버플로 오류로 인해 NULL값이 반환된다.

 
 

SET ARITHIGNORE ON/OFF

오류 메세지가 리턴되는 상황을 제어한다.

 

 

SET ARITHABORT ON/OFF

값을 ON으로 설정하면 0으로 나누기 및 산술 오버플로 오류로 인해 명령이 취소되고

트랜잭션에서 해당 오류가 발생하면 트랜잭션이 롤백된다. (하지만 INSERT, UPDATE, DELETE 문 실행중에 발생한 오류에는 영향을 주지 않는다.)

 

반응형