Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Ken @DateParm onjuist een nvarchar(30)-gegevenstype toe in plaats van een date.
  • Voeg @Error toe als een optionele OUTPUT-parameter.
  • Neem de DELETE-instructie op binnen het blok BEGIN TRY...END TRY.
  • Concateneer ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_STATE(), ERROR_MESSAGE(), ERROR_LINE() binnen het blok BEGIN CATCH...END CATCH en SET dit 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;
Code bewerken en uitvoeren