TRY..CATCH versi Anda sendiri
Ubah dbo.cuspRideSummaryDelete untuk menyertakan kesalahan yang disengaja agar kita dapat melihat cara kerja blok TRY CATCH.
Latihan ini merupakan bagian dari kursus
Menulis Function dan Stored Procedure di SQL Server
Instruksi latihan
- Secara keliru tetapkan tipe data
nvarchar(30)pada@DateParmalih-alihdate. - Sertakan
@Errorsebagai parameterOUTPUTopsional. - Sertakan pernyataan
DELETEdi dalam blokBEGIN TRY...END TRY. - Gabungkan
ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_MESSAGE(),ERROR_LINE()di dalam blokBEGIN CATCH...END CATCHdanSETke@Error.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
-- 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;