Inizia subitoInizia gratis

Il tuo TRY..CATCH personale

Modifica dbo.cuspRideSummaryDelete per includere un errore intenzionale così potremo vedere come funziona il blocco TRY CATCH.

Questo esercizio fa parte del corso

Scrivere funzioni e stored procedure in SQL Server

Visualizza corso

Istruzioni dell'esercizio

  • Assegna in modo errato a @DateParm un tipo di dati nvarchar(30) invece di date.
  • Includi @Error come parametro opzionale di OUTPUT.
  • Includi l'istruzione DELETE all'interno del blocco BEGIN TRY...END TRY.
  • Concatena ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_STATE(), ERROR_MESSAGE(), ERROR_LINE() all'interno del blocco BEGIN CATCH...END CATCH e fai SET di @Error.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

-- 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;
Modifica ed esegui il codice