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
Hướng dẫn bài tập
- Gán sai kiểu dữ liệu cho
@DateParmthànhnvarchar(30)thay vìdate. - Thêm
@Errorlàm tham sốOUTPUTtùy chọn. - Đưa câu lệnh
DELETEvào trong khốiBEGIN TRY...END TRY. - Nối
ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_MESSAGE(),ERROR_LINE()trong khốiBEGIN CATCH...END CATCHvàSETcho@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;