CommencerCommencez gratuitement

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>
Voir le cours

Instructions de l’exercice

  • Attribuez de façon incorrecte au paramètre @DateParm le type nvarchar(30) au lieu de date.
  • Ajoutez @Error comme paramètre OUTPUT optionnel.
  • Placez l’instruction DELETE dans le bloc BEGIN TRY...END TRY.
  • Concaténez ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_STATE(), ERROR_MESSAGE(), ERROR_LINE() dans le bloc BEGIN CATCH...END CATCH et affectez le résultat à @Error avec SET.

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;
Modifier et exécuter le code