Zu viele Argumente in gespeicherten Prozeduren angegeben
Problem:
Beim Ausführen einer gespeicherten Prozedur Wenn Sie eine andere gespeicherte Prozedur aufrufen, wird möglicherweise die Fehlermeldung „Für die Prozedur oder Funktion wurden zu viele Argumente angegeben“ angezeigt. Dieser Fehler weist auf eine Diskrepanz zwischen der Anzahl der an die aufgerufene Prozedur übergebenen Argumente und der Anzahl der Argumente hin, die sie akzeptieren soll.
Identifizierung:
Zur Identifizierung des Fehlers Argumente, untersuchen Sie die in der Definition der aufgerufenen Prozedur deklarierten Parameter. Vergleichen Sie diese Parameter mit den Argumenten, die von der aufrufenden Prozedur übergeben wurden. Durch die Nichtübereinstimmung wird ermittelt, wo sich die überschüssigen Argumente befinden.
Analyse des bereitgestellten Codes:
Im angegebenen Codeausschnitt tritt der Fehler auf, weil Sie die gespeicherte Prozedur aufrufen [ etl_M_Update_Promo] mit zwei Argumenten:
EXEC etl.etl_M_Update_Promo @GenID, @Description
Allerdings ist die Definition von [etl_M_Update_Promo] deklariert nur ein Argument:
ALTER PROCEDURE [etl].[etl_M_Update_Promo] @GenId bigint = 0
Daher gibt SQL Server die Fehlermeldung aus, die darauf hinweist, dass die aufgerufene Prozedur ein Argument erwartet, während ihr zwei Argumente übergeben werden.
Lösung:
Um das Problem zu beheben, richten Sie die Anzahl der an die aufgerufene Prozedur übergebenen Argumente an deren Anzahl aus erwartet. In diesem Fall haben Sie zwei Möglichkeiten:
Entfernen Sie das Überschussargument:
Ändern Sie den Code in [dbo].[M_UPDATES], um das zweite zu entfernen Argument:
EXEC etl.etl_M_Update_Promo @GenID
Fügen Sie das Fehlende hinzu Parameter:
Ändern Sie die Definition von [etl_M_Update_Promo], um den zweiten Parameter einzuschließen:
ALTER PROCEDURE [etl].[etl_M_Update_Promo] @GenId bigint = 0, @Description NVARCHAR(50) AS .... Rest of the code.
Das obige ist der detaillierte Inhalt vonWarum erhält meine gespeicherte Prozedur den Fehler „Zu viele Argumente angegeben'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!