Écrire des fonctions et des procédures stockées dans SQL Server
Meghan Kwartler
IT Consultant
Qu'est-ce que la gestion des erreurs ?
Sans gestion des erreurs, que se passe-t-il ?
ALTER PROCEDURE dbo.cusp_TripSummaryCreate @TripDate nvarchar(30), @RideHrs numeric,@ErrorMsg nvarchar(max) = null OUTPUTAS BEGIN BEGIN TRY INSERT INTO TripSummary (Date, TripHours) VALUES (@TripDate, @RideHrs) END TRY ........
ALTER PROCEDURE dbo.cusp_TripSummaryCreate
@TripDate nvarchar(30),
@RideHrs numeric,
@ErrorMsg nvarchar(max) = null OUTPUT
AS
BEGIN
BEGIN TRY
INSERT INTO TripSummary (Date, TripHours)
VALUES (@TripDate, @RideHrs)
END TRY
BEGIN CATCH
SET @ErrorMsg = 'Error_Num: ' +
CAST (ERROR_NUMBER() AS varchar) +
' Error_Sev: ' +
CAST(ERROR_SEVERITY() AS varchar) +
' Error_Msg: ' + ERROR_MESSAGE()
END CATCH
END
DECLARE @ErrorMsgOut as nvarchar(max)
EXECUTE dbo.cusp_TripSummaryCreate
@TripDate = '1/32/2018',
@RideHrs = 100,
@ErrorMsg = @ErrorMsgOUT OUTPUT
SELECT @ErrorMsgOut as ErrorMessag
ErrorMessage
-------------------------------------------------
Error_Num: 241 Error_Sev: 16
Error_Msg: Conversion failed when converting date and/or time from
character string
THROW
RAISERROR
Écrire des fonctions et des procédures stockées dans SQL Server