Maison > base de données > tutoriel mysql > Pourquoi ma procédure stockée obtient-elle une erreur « Trop d'arguments » ?

Pourquoi ma procédure stockée obtient-elle une erreur « Trop d'arguments » ?

Barbara Streisand
Libérer: 2024-12-22 14:29:22
original
1023 Les gens l'ont consulté

Why Does My Stored Procedure Get a

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
Copier après la connexion

Code pour [etl_M_Update_Promo]

ALTER PROCEDURE [etl].[etl_M_Update_Promo]
@GenId bigint = 0
as
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal