다음을 통해 공유


네이티브 코드로 컴파일된 저장 프로시저에서 Try..Catch 블록 사용하기

네이티브로 컴파일된 저장 프로시저 내에서 try..catch 블록을 사용할 수 있습니다. 지원되는 구문은 다음과 같습니다.

  • 오류_라인

  • 오류 메시지

  • 오류_번호

  • 오류_절차

  • 오류 심각도

  • 오류 상태

CREATE PROCEDURE test_try_catch  
with native_compilation, schemabinding, execute as owner   
as  
begin atomic with (transaction isolation level = snapshot, language = N'us_english')  
  
  BEGIN TRY  
    -- generate error  
    declare @i int = 1,  
    @j int = 0  
    select @i/@j  
  END TRY  
  BEGIN CATCH  
    -- Execute error retrieval routine.  
    SELECT  
    ERROR_SEVERITY() AS ErrorSeverity  
    ,ERROR_STATE() AS ErrorState  
    ,ERROR_PROCEDURE() AS ErrorProcedure  
    ,ERROR_LINE() AS ErrorLine  
    ,ERROR_MESSAGE() AS ErrorMessage  
  END CATCH  
end  
go  
  
exec test_try_catch  
go  

또한 참조하십시오

고유하게 컴파일된 저장 프로시저