MS SQL
초간단 MS SQL 에서 TRY CATCH 사용하기
스티커
2010. 4. 16. 16:14
다음예제는 날짜 형식을 받을때 생기는 오류를 체크해서 NULL 로 삽입하고 있습니다.
DECLARE @생년월일 SMALLDATETIME BEGIN TRY SELECT @생년월일 = 생년월일 FROM INSA WHERE 사번='000206' END TRY BEGIN CATCH PRINT '날짜변경오류' SET @생년월일 = NULL END CATCH
참고로 SQL 2005 부터 사용가능합니다.
오류났을때 메세지 보여주기(추가된 코드)
SELECT ERROR_LINE() AS 'ERROR_LINE' SELECT ERROR_MESSAGE() AS 'ERROR_MESSAGE' SELECT ERROR_NUMBER() AS 'ERROR_NUMBER' SELECT ERROR_PROCEDURE() AS 'ERROR_PROCEDURE' SELECT ERROR_SEVERITY() AS 'ERROR_SEVERITY' SELECT ERROR_STATE() AS 'ERROR_STATE'
오류가 났을때 표시되는 결과값
다음예제는 날짜 형식을 받을때 생기는 오류를 체크해서 NULL 로 삽입하고 있습니다.
또한 오류가 발생하면 오류정보를 표시하고 있는중
DECLARE @생년월일 SMALLDATETIME BEGIN TRY SELECT @생년월일 = 생년월일 FROM INSA WHERE 사번='000206' END TRY BEGIN CATCH PRINT '날짜변경오류' SET @생년월일 = NULL SELECT ERROR_LINE() AS 'ERROR_LINE' SELECT ERROR_MESSAGE() AS 'ERROR_MESSAGE' SELECT ERROR_NUMBER() AS 'ERROR_NUMBER' SELECT ERROR_PROCEDURE() AS 'ERROR_PROCEDURE' SELECT ERROR_SEVERITY() AS 'ERROR_SEVERITY' SELECT ERROR_STATE() AS 'ERROR_STATE' END CATCH
참고할 만한 사항
http://technet.microsoft.com/ko-kr/library/ms179296(SQL.90).aspx