J'essaie de lancer une erreur personnalisée à partir de ma procédure stockée dans SQL Server, mais une erreur se produit lors de la compilation. Le problème est clair. J'essaye d'afficher la valeur d'un paramètre de type bit et je crois que ma déclaration de format est fausse. Je donne les résultats suivants:Erreurs de lancement - Les valeurs correctes de mise en forme% dans le message d'erreur
EXEC sys.sp_addmessage
@msgnum = 60000
,@severity = 16
,@msgText = N'Bad parameter. You cannot pass NULLs to this procedure, UseAlternateEquity (%i), AlternateEquity (%d), PushEmail (%i)'
,@lang = NULL;
declare @msg1 NVARCHAR(2048) = FORMATMESSAGE(60000, @UseAlternateEquity, @AlternateEquity, @PushEmail);
throw 60000, @msg1, 1;
Les variables @UseAlternateEquity
et @PushEmail
sont de type bit
Quelqu'un pourrait-il me dire quel est le type de format approprié est s'il vous plaît. J'ai recherché haut et bas et ne peux pas trouver la réponse
Merci. J'ai fini par utiliser convert (int, @var) en passant les variables. –