티스토리 뷰

Programming/DB - SQL

[MS-SQL] TRY ~ CATCH.

애스트로스 2018. 5. 26. 19:49
  • TRY...CATCH 구문은 심각도가 10을 넘으며 데이터베이스 연결을 닫지 않는 모든 실행 오류를 CATCH 한다. 
  • END TRY 와 BEGIN CATCH 문 사이에 다른 문을 포함시키면 구문 오류 가 발생.
  • 오류정보를 응용 프로그램으로 반환해야 하는경우 CATCH 블록의 코드에서 SELECT 또는 RAISERROR 및 PRINT 문을 사용한다.
    • 오류정보 (LOG 테이블이나 파일로 결과를 남길경우 오류정보를 출력시키면 추후 확인하기 용이하다. )
    • ERROR_NUMBER() -- 오류번호 반환
    • ERROR_SEVERITY() -- 심각도 반환
    • ERROR_STATE() -- 오류상태 번호 반환
    • ERROR_PROCEDURE() -- 오류가 발생한 프로시저 또는 트리거의 이름을 반환
    • ERROR_LINE() -- 오류를 발생시킨 줄번호를 반환
    • ERROR_MESSAGE() -- 오류 메시지 전체 텍스트 반환
  • TRY...CATCH 구문은 TRY 블록 또는 CATCH 블록에 중첩되어 사용할 수 있다. 



실행 결과


댓글