헤르메스 LIFE

[MSSQL] EXCEPTION 처리 본문

Database

[MSSQL] EXCEPTION 처리

헤르메스의날개 2020. 12. 16. 14:18
728x90

MSSQL 의 EXCEPTION 처리 방법 #1

BEGIN TRY
    /* 처리구분 */
END TRY 
BEGIN CATCH
    /* 오류처리 */
END CATCH

예제

BEGIN TRY
    SELECT 1 / 0
END TRY 
BEGIN CATCH
    SELECT @ERRMSG = N'오류메시지'
    SELECT @ERROR_NUMBER    = ERROR_NUMBER()        -- 오류 번호를 반환합니다.
            , @ERROR_SERVERITY   = ERROR_SERVERITY()      --  심각도를 반환합니다.
            , @ERROR_STATE         = ERROR_STATE ()          -- 오류 상태 번호를 반환합니다.
            , @ERROR_PROCEDURE = ERROR_PROCEDURE ()   -- 오류가 발생한 저장 프로 시저 또는 트리거의 이름을 반환합니다.
            , @ERROR_LINE           = ERROR_LINE ()    -- 오류를 일으킨 루틴 내부의 행 번호를 리턴합니다.
            , @ERROR_MESSAGE    = ERROR_MESSAGE  ()  --  오류 메시지의 전체 텍스트를 반환합니다.

    RAISERROR(@ERRMSG, 16, 1)
END CATCH

MSSQL 의 EXCEPTION 처리 방법 #2

BEGIN
    DECLARE @RESULT NVARCHAR(255)

    IF @RESULT IS NULL GOTO ERROR:
END
ERROR:
    SELECT @RESULT = N'결과가 NULL 입니다'

 

참조 : https://docs.microsoft.com/en-us/sql/t-sql/language-elements/try-catch-transact-sql?view=sql-server-2017

 

TRY...CATCH (Transact-SQL) - SQL Server

TRY...CATCH (Transact-SQL)

learn.microsoft.com

 

 

728x90

'Database' 카테고리의 다른 글

[MSSQL] 동적 임시테이블 생성  (0) 2021.01.01
[MSSQL] 테이블 목록 조회  (0) 2020.12.30
[DB2] 테이블 정보 조회  (0) 2020.12.14
[MSSQL] IF EXISTS 의 활용 ( Merge 문으로 활용 )  (0) 2020.12.14
[MSSQL] 컬럼속성 변경  (0) 2020.12.14