Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Tilldela @DateParm felaktigt datatypen nvarchar(30) i stället för date.
  • Inkludera @Error som en valfri OUTPUT-parameter.
  • Placera DELETE-satsen inuti blocket BEGIN TRY...END TRY.
  • Konkatenera ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_STATE(), ERROR_MESSAGE() och ERROR_LINE() inuti blocket BEGIN CATCH...END CATCH och SET resultatet 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;
Redigera och kör kod