본문 바로가기
2_ 바삭바삭 프로그래밍

MS SQL 2005에서 에러 처리

by 준환이형님_ 2012. 7. 30.

딱 있을 줄 알았어 ㅋㅋ



출처 : http://blog.naver.com/PostView.nhn?blogId=dbakidd&logNo=100049065459


TRY.... CATCH는 C# 및 C++ 언어의 예외 처리와 유사한 방식으로 Transact-SQL 에서 오류 처리를 구현합니다. Transact-SQL 문의 그룹을 TRY 블록으로 묶을 수 있으며 TRY 블록 내에서 오류가 발생하는 경우 CATCH 블록으로 묶은 또 다른 문의 그룹으로 제어가 전달됩니다.

 

BEGIN TRY

BEGIN TRAN

UPDATE dbo.TName SET Col=Colvalue WHERE Col is not NULL

COMMIT TRAN

END TRY

 

BEGING CATCH

ROLLBACK TRAN

SELECT   @ERROR_NO=ERROR_NUMBER(), 

                 @ERROR_PROCEDURE=ERROR_PROCEDURE(), 

                 @ERROR_LINE=ERROR_LINE(), 

                @ERROR_SEVERITY=ERROR_SEVERITY(), 

                 @ERROR_STATE=ERROR_STATE(), 

                 @ERROR_MESSAGE=ERROR_MESSAGE()

RETURN -1

END CATCH

 

RETURN 1