La procédure ou la fonction comporte trop d'arguments spécifiés
Lorsque vous rencontrez ce message d'erreur, cela indique qu'un nombre excessif d'arguments ont été fournis pendant l'invocation d'une procédure ou d'une fonction stockée. L'identification de la source de l'erreur peut être cruciale pour résoudre le problème.
Identification de la source de l'erreur
Dans le scénario donné, l'erreur se produit lors de l'appel du fichier stocké. procédure [dbo].[M_UPDATES], qui à son tour appelle une autre procédure stockée, [etl_M_Update_Promo]. Après examen, il est évident que [dbo].[M_UPDATES] tente d'appeler [etl_M_Update_Promo] avec deux paramètres, alors que la déclaration de [etl_M_Update_Promo] ne spécifie qu'un seul paramètre.
Code pour [dbo] .[M_UPDATES]
EXEC etl.etl_M_Update_Promo @GenID, @Description
Code pour [etl_M_Update_Promo]
ALTER PROCEDURE [etl].[etl_M_Update_Promo] @GenId bigint = 0 as
Comme vous pouvez le voir, [etl_M_Update_Promo] est déclaré pour prendre uniquement le paramètre @GenId, ce qui entraîne le message d'erreur.
Résolution
Pour résoudre ce problème, il est nécessaire de modifier la déclaration de [etl_M_Update_Promo] pour inclure le paramètre supplémentaire, @Description. Ce faisant, la fonction pourra prendre en charge les deux paramètres fournis par [dbo].[M_UPDATES].
Code mis à jour pour [etl_M_Update_Promo]
ALTER PROCEDURE [etl].[etl_M_Update_Promo] @GenId bigint = 0, @Description NVARCHAR(50) AS
Après la mise à jour de la déclaration, l'erreur devrait être résolue, permettant à la procédure de fonctionner comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!