Ditt eget TRY..CATCH
Ändra dbo.cuspRideSummaryDelete så att den innehåller ett avsiktligt fel, så att vi kan se hur TRY CATCH-blocket fungerar.
Den här övningen är en del av kursen
Skriva funktioner och lagrade procedurer i SQL Server
Övningsinstruktioner
- Tilldela
@DateParmfelaktigt datatypennvarchar(30)i stället fördate. - Inkludera
@Errorsom en valfriOUTPUT-parameter. - Placera
DELETE-satsen inuti blocketBEGIN TRY...END TRY. - Konkatenera
ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_MESSAGE()ochERROR_LINE()inuti blocketBEGIN CATCH...END CATCHochSETresultatet till@Error.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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;