>데이터 베이스 >MySQL 튜토리얼 >내 저장 프로시저에 '인수가 너무 많습니다' 오류가 발생하는 이유는 무엇입니까?

내 저장 프로시저에 '인수가 너무 많습니다' 오류가 발생하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-22 14:29:22962검색

Why Does My Stored Procedure Get a

프로시저 또는 함수에 인수가 너무 많이 지정되었습니다.

이 오류 메시지가 표시되면 프로시저 또는 함수에 너무 많은 인수가 지정되었음을 나타냅니다. 저장 프로시저나 함수의 호출. 오류의 원인을 식별하는 것은 문제 해결에 매우 중요할 수 있습니다.

오류의 원인 식별

주어진 시나리오에서 저장된 오류를 호출하는 동안 오류가 발생합니다. 프로시저 [dbo].[M_UPDATES]는 다른 저장 프로시저인 [etl_M_Update_Promo]를 호출합니다. 조사해 보면 [dbo].[M_UPDATES]는 두 개의 매개변수를 사용하여 [etl_M_Update_Promo]를 호출하려고 시도하는 반면, [etl_M_Update_Promo] 선언은 하나의 매개변수만 지정하는 것으로 나타났습니다.

에 대한 코드 [dbo].[M_UPDATES]

EXEC etl.etl_M_Update_Promo @GenID, @Description

[etl_M_Update_Promo]에 대한 코드

ALTER PROCEDURE [etl].[etl_M_Update_Promo]
@GenId bigint = 0
as

보시다시피 [etl_M_Update_Promo]는 다음으로 선언됩니다. @GenId 매개변수만 사용하면 오류가 발생합니다. message.

해결 방법

이 문제를 해결하려면 추가 매개변수 @Description을 포함하도록 [etl_M_Update_Promo] 선언을 수정해야 합니다. 이렇게 하면 함수는 [dbo].[M_UPDATES].

[etl_M_Update_Promo]에 대한 업데이트된 코드

ALTER PROCEDURE [etl].[etl_M_Update_Promo]
@GenId bigint = 0,
@Description NVARCHAR(50)
AS
선언을 업데이트한 후에는 오류가 해결되어 프로시저가 의도한 대로 작동할 수 있습니다.

위 내용은 내 저장 프로시저에 '인수가 너무 많습니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.