BaşlayınÜcretsiz başlayın

Kendi TRY..CATCH bloğun

TRY CATCH bloğunun nasıl çalıştığını görebilmek için kasıtlı bir hata içerecek şekilde dbo.cuspRideSummaryDelete prosedürünü değiştir.

Bu egzersiz, kursun bir parçasıdır

SQL Server'da Fonksiyonlar ve Saklı Yordamlar Yazma

Kursa Göz Atın

Egzersiz talimatları

  • @DateParm için date yerine yanlışlıkla nvarchar(30) veri türü ata.
  • @Error parametresini isteğe bağlı bir OUTPUT parametresi olarak ekle.
  • DELETE deyimini BEGIN TRY...END TRY bloğunun içine koy.
  • BEGIN CATCH...END CATCH bloğu içinde ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_STATE(), ERROR_MESSAGE(), ERROR_LINE() değerlerini birleştir ve @Error değişkenine SET et.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

-- 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;
Kodu Düzenle ve Çalıştır