시작하기무료로 시작하기

나만의 TRY..CATCH 만들기

TRY CATCH 블록이 어떻게 동작하는지 확인할 수 있도록, 의도적인 오류를 포함하도록 dbo.cuspRideSummaryDelete를 변경하세요.

이 연습은 강의의 일부입니다

SQL Server에서 함수와 저장 프로시저 작성하기

강의 보기

연습 안내

  • date 대신 nvarchar(30) 데이터 형식으로 @DateParm을 잘못 지정하세요.
  • 선택적 OUTPUT 매개변수로 @Error를 포함하세요.
  • DELETE 문을 BEGIN TRY...END TRY 블록 안에 포함하세요.
  • BEGIN CATCH...END CATCH 블록 안에서 ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_STATE(), ERROR_MESSAGE(), ERROR_LINE()을 연결(concatenate)하고, 그 값을 @ErrorSET하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

-- Alter the stored procedure
CREATE OR ALTER PROCEDURE dbo.cuspRideSummaryDelete
	-- (Incorrectly) specify @DateParm
	___ ___(30),
    -- Specify @Error
	___ nvarchar(max) = NULL OUTPUT
AS
SET NOCOUNT ON
BEGIN
  -- Start of the TRY block
  ___ ___
  	  -- Delete
      DELETE FROM RideSummary
      WHERE Date = @DateParm
  -- End of the TRY block
  ___ ___
  -- Start of the CATCH block
  ___ ___
		SET @Error = 
		'Error_Number: '+ CAST(___() AS VARCHAR) +
		'Error_Severity: '+ CAST(___() AS VARCHAR) +
		'Error_State: ' + CAST(___() AS VARCHAR) + 
		'Error_Message: ' + ___() + 
		'Error_Line: ' + CAST(___() AS VARCHAR)
  -- End of the CATCH block
  ___ ___
END;
코드 편집 및 실행