Dein eigenes TRY..CATCH
Ändere dbo.cuspRideSummaryDelete, um einen absichtlichen Fehler einzubauen, damit wir sehen, wie der TRY-CATCH-Block funktioniert.
Diese Übung ist Teil des Kurses
<Kurs>Funktionen und Stored Procedures in SQL Server schreiben</Kurs>Übungsanweisungen
- Weise
@DateParmfälschlicherweise den Datentypnvarchar(30)stattdatezu. - Füge
@Errorals optionalenOUTPUT-Parameter hinzu. - Setze die
DELETE-Anweisung in den BlockBEGIN TRY...END TRY. - Verkette
ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_MESSAGE(),ERROR_LINE()innerhalb des BlocksBEGIN CATCH...END CATCHund weise das Ergebnis perSET@Errorzu.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
-- 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;