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
Egzersiz talimatları
@DateParmiçindateyerine yanlışlıklanvarchar(30)veri türü ata.@Errorparametresini isteğe bağlı birOUTPUTparametresi olarak ekle.DELETEdeyiminiBEGIN TRY...END TRYbloğunun içine koy.BEGIN CATCH...END CATCHbloğu içindeERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_MESSAGE(),ERROR_LINE()değerlerini birleştir ve@ErrordeğişkenineSETet.
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;