반응형

MSSQP 의 프로시저에서 오류처리는 RAISEEROR 기능을 사용하여 처리할 수 있습니다.

RAISERROR('메시지', 심각도 수준, 상태)

> 메시지 : 최대 2047자

> 오류 심각도

1~10 상태 정보를 반환하거나 심각하지 않은 오류를 보고하는 정보 메시지입니다. 데이터베이스 엔진은 심각도가 0~9인 시스템 오류를 발생시키지 않습니다.
11~16 사용저 정의 오류로 11부터 오류로 반환합니다. 11이상을 주면 프로시저를 호출한 Application 에서도 오류로 회신을 받아 코드에서 처리할 수 있습니다.
17~25 시스템 오류. 시스템 오류는 19부터는 관리자만 지정 가능하며 연결 종류 등 문제가 있어 개발자 수준에서는 사용하지 않을 것으로 생각됩니다.

> 상태

0~255 사이의 정수. 고유 상태 번호를 사용하면 코드의 어떤 부분에서 오류가 발생하는지 찾는데 도움이 됩니다. 기본값은 1 입니다.

> 샘플

DECLARE @TEST FLOAT;
SET @TEST = 10/0;

결과 :

0 으로 나누기 오류 발생

1. 심각도 10이하

   오류 없이 로그 수준으로 에러가 처리 됩니다.

2. 심각도 11 이상

  오류를 발생시켜 Application 에도 에리를 전달할 수 있습니다.

 

참고 사이트

https://docs.microsoft.com/ko-kr/sql/t-sql/language-elements/raiserror-transact-sql?view=sql-server-ver15

반응형

+ Recent posts