Heim > Datenbank > MySQL-Tutorial > Warum erhält meine gespeicherte Prozedur den Fehler „Zu viele Argumente'?

Warum erhält meine gespeicherte Prozedur den Fehler „Zu viele Argumente'?

Barbara Streisand
Freigeben: 2024-12-22 14:29:22
Original
961 Leute haben es durchsucht

Why Does My Stored Procedure Get a

Prozedur oder Funktion hat zu viele Argumente angegeben

Wenn diese Fehlermeldung auftritt, weist dies darauf hin, dass währenddessen zu viele Argumente angegeben wurden der Aufruf einer gespeicherten Prozedur oder Funktion. Die Identifizierung der Fehlerquelle kann für die Lösung des Problems von entscheidender Bedeutung sein.

Identifizierung der Fehlerquelle

Im gegebenen Szenario tritt der Fehler beim Aufrufen des Speichers auf Prozedur [dbo].[M_UPDATES], die wiederum eine andere gespeicherte Prozedur aufruft, [etl_M_Update_Promo]. Bei der Untersuchung ist offensichtlich, dass [dbo].[M_UPDATES] versucht, [etl_M_Update_Promo] mit zwei Parametern aufzurufen, während die Deklaration von [etl_M_Update_Promo] nur einen Parameter angibt.

Code für [dbo] .[M_UPDATES]

EXEC etl.etl_M_Update_Promo @GenID, @Description
Nach dem Login kopieren

Code für [etl_M_Update_Promo]

ALTER PROCEDURE [etl].[etl_M_Update_Promo]
@GenId bigint = 0
as
Nach dem Login kopieren

Wie Sie sehen können, ist [etl_M_Update_Promo] so deklariert, dass es nur den @GenId-Parameter akzeptiert, was zur Fehlermeldung führt.

Auflösung

Um dieses Problem zu beheben, ist es notwendig, die Erklärung von zu ändern [etl_M_Update_Promo], um den zusätzlichen Parameter @Description einzuschließen. Auf diese Weise kann die Funktion die beiden von [dbo].[M_UPDATES] bereitgestellten Parameter berücksichtigen.

Aktualisierter Code für [etl_M_Update_Promo]

ALTER PROCEDURE [etl].[etl_M_Update_Promo]
@GenId bigint = 0,
@Description NVARCHAR(50)
AS
Nach dem Login kopieren

Nach der Aktualisierung der Deklaration sollte der Fehler behoben sein und das Verfahren wie vorgesehen funktionieren.

Das obige ist der detaillierte Inhalt vonWarum erhält meine gespeicherte Prozedur den Fehler „Zu viele Argumente'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage