Your very own TRY..CATCH
Alter dbo.cuspRideSummaryDelete to include an intentional error so we can see how the TRY CATCH block works.
Este exercício faz parte do curso
Writing Functions and Stored Procedures in SQL Server
Instruções do exercício
- Incorrectly assign
@DateParmanvarchar(30)data type instead of adate. - Include
@Erroras an optionalOUTPUTparameter. - Include the
DELETEstatement within theBEGIN TRY...END TRYblock. - Concatenate the
ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_MESSAGE(),ERROR_LINE()within theBEGIN CATCH...END CATCHblock andSETto@Error.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
-- 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;