अपना खुद का TRY..CATCH
dbo.cuspRideSummaryDelete को Alter करें और उसमें एक जानबूझकर की गई त्रुटि शामिल करें ताकि हम देख सकें कि TRY CATCH ब्लॉक कैसे काम करता है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL Server में फंक्शंस और स्टोरड प्रोसीजर्स लिखना
अभ्यास निर्देश
@DateParmकोdateकी जगह गलत तरीके सेnvarchar(30)डेटा टाइप असाइन करें.@Errorको वैकल्पिकOUTPUTपैरामीटर के रूप में शामिल करें.DELETEस्टेटमेंट कोBEGIN TRY...END TRYब्लॉक के भीतर रखें.BEGIN CATCH...END CATCHब्लॉक के भीतरERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_MESSAGE(),ERROR_LINE()को concatenate करें और@ErrorमेंSETकरें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
-- 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;