티스토리 뷰


에러 핸들링(Error Handlig )

SQL Server의 Try Catch 에 대한 내용

 BEGIN TRY

 

--실행문

 

END TRY

 

BEGIN CATCH

 

SELECT @Err_Number=ISNULL(error_number(),0)

,@Err_Message=ISNULL(error_message(),'NULL Message')

,@Err_Severity=ISNULL(error_severity(),0)

,@Err_State=ISNULL(error_state(),1)

,@Err_Line=ISNULL(error_line(),'NULL Message')

,@Err_Procedure=ISNULL(error_message(),'')

,@UserName=SUSER_NAME()

,@HostName=HOST_NAME()

,@Time_Stamo=GETDATE()

 

-- ERROR Logging

 

END CATCH

 

AdventureWorks 데이터베이스의 에러 핸들링 구조

1. dbo.ErrorLog 테이블 생성
2. dbo.uspLogError 로그 저장 프로시저 생성(dbo.ErrorLog  테이블에 위에 관련된 값 이용 INSERT)
3. 각 저장 프로시저의 CATCH 문에서 dbo.uspLogError  사용

BEGIN CATCH

        -- Rollback any active or uncommittable transactions before

        -- inserting information in the ErrorLog

        IF @@TRANCOUNT > 0

        BEGIN

            ROLLBACK TRANSACTION;

        END

 

        EXECUTE [dbo].[uspLogError];

END CATCH;

 

'SQL > T-SQL' 카테고리의 다른 글

String Concat, String Group By  (0) 2011.06.27
SQL Server 시작일 default value  (0) 2011.02.14
기본적이고 유용한 T-SQL (1) - SPID KILL  (0) 2011.02.11
댓글