Bắt đầu ngayBắt đầu miễn phí

TRY..CATCH của riêng bạn

Sửa dbo.cuspRideSummaryDelete để chèn một lỗi có chủ ý nhằm quan sát cách khối TRY CATCH hoạt động.

Bài tập này là một phần của khóa học

Viết Hàm và Thủ Tục Lưu Trữ trong SQL Server

Xem khóa học

Hướng dẫn bài tập

  • Gán sai kiểu dữ liệu cho @DateParm thành nvarchar(30) thay vì date.
  • Thêm @Error làm tham số OUTPUT tùy chọn.
  • Đưa câu lệnh DELETE vào trong khối BEGIN TRY...END TRY.
  • Nối ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_STATE(), ERROR_MESSAGE(), ERROR_LINE() trong khối BEGIN CATCH...END CATCHSET cho @Error.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

-- 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;
Chỉnh sửa và Chạy Mã