Je eigen TRY..CATCH
Wijzig dbo.cuspRideSummaryDelete om een opzettelijke fout op te nemen zodat we kunnen zien hoe het TRY-CATCH-blok werkt.
Deze oefening maakt deel uit van de cursus
Functies en opgeslagen procedures schrijven in SQL Server
Oefeninstructies
- Ken
@DateParmonjuist eennvarchar(30)-gegevenstype toe in plaats van eendate. - Voeg
@Errortoe als een optioneleOUTPUT-parameter. - Neem de
DELETE-instructie op binnen het blokBEGIN TRY...END TRY. - Concateneer
ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_MESSAGE(),ERROR_LINE()binnen het blokBEGIN CATCH...END CATCHenSETdit naar@Error.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
-- 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;