J'ai problème à stocker l'exception soulevée d'une procédure stockée.sont soulevées exception de procédure stockée comme variable de sortie
Par exemple, je suis d'avoir deux procédures stockées P_Add
et P_GetAdd
.
P_Add
renvoie une exception sur la division par zéro comme indiqué, procédure P_GetAdd
exécute P_Add
.
Je veux revenir à l'exception soulevée par P_Add
au code où P_GetAdd
est exécuté.
P_Add
excpets un paramètre qui n'a pas été fourni est l'erreur. Aidez-moi à obtenir le résultat. Merci.
create procedure P_add
(
@ErrorMessage varchar (100) OUTPUT
)
as
Declare @a int
Declare @b int
declare @c int
set @a = 1
set @b = 0
Begin try
SET @c = @a/@b
end try
begin catch
SET @ErrorMessage = ERROR_MESSAGE();
End catch
create procedure P_getADD
(
@ErrorMessage1 varchar (100) OUTPUT
)
AS
IF EXISTS (
SELECT *
FROM sysobjects
WHERE id = object_id(N'[dbo].[P_add]')
AND OBJECTPROPERTY(id, N'IsProcedure') = 1
)
BEGIN
EXEC P_add @ErrorMessage = @ErrorMessage1
END
Merci pour fournir la solution. Mais je suppose que je peux aussi utiliser RAISERROR() pour lancer l'erreur à la procédure stockée parent. –
La réponse était à la question qui a été postée. Si vous trouvez cette réponse correcte, veuillez la marquer comme acceptée afin que les autres sachent que le problème est résolu. Si vous avez trouvé une meilleure réponse, postez-la et acceptez-la. –