Votre propre TRY..CATCH
Modifiez dbo.cuspRideSummaryDelete pour y inclure une erreur intentionnelle afin que nous puissions voir comment le bloc TRY CATCH fonctionne.
Cet exercice fait partie du cours
<cours>Écrire des fonctions et des procédures stockées dans SQL Server</cours>Instructions de l’exercice
- Attribuez de façon incorrecte au paramètre
@DateParmle typenvarchar(30)au lieu dedate. - Ajoutez
@Errorcomme paramètreOUTPUToptionnel. - Placez l’instruction
DELETEdans le blocBEGIN TRY...END TRY. - Concaténez
ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_MESSAGE(),ERROR_LINE()dans le blocBEGIN CATCH...END CATCHet affectez le résultat à@ErroravecSET.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- 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;