預存程序呼叫中的參數過多
錯誤訊息「Procedure or function xxx Too mucharguments specified」表示參數之間的數量不匹配在儲存過程呼叫中指定的參數數量以及在預存程序定義中聲明的參數數量。
在這種特殊情況下,您正在呼叫預存程序“[dbo].[M_UPDATES]”,該程序又呼叫另一個預存程序“[etl_M_Update_Promo]”。發生錯誤的原因是「[etl_M_Update_Promo]」被聲明為僅接受一個參數@GenId,但您在「[dbo].[M_UPDATES]」的呼叫中向其傳遞了兩個參數(@GenID 和 @Description)。
識別不匹配的參數
要識別確切的不匹配,請檢查預存程序「[etl_M_Update_Promo]」的聲明:
ALTER PROCEDURE [etl].[etl_M_Update_Promo] @GenId bigint = 0 as
調整參數清單
要解決該錯誤,您需要修改「[etl_M_Update_Promo]」的聲明以包含第二個參數:ALTER PROCEDURE [etl].[etl_M_Update_Promo] @GenId bigint = 0, @Description NVARCHAR(50) AS .... Rest of your code.
以上是為什麼我的預存程序呼叫失敗並顯示'指定的參數過多”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!