0

次のストアド プロシージャを実行すると、次のようになります。

「プロシージャまたは関数 addQuestion に指定された引数が多すぎます。」

その理由は、 @qnum が INSERT ステートメントに含まれているが、ストアド プロシージャの宣言部分でパラメーターとして宣言されていないためだと思います。

以下のストアド プロシージャは次のとおりです。

CREATE PROCEDURE [dbo].[addQuestion](@surveyID INT, @question VARCHAR(255), @AnswerType CHAR(1), @CorrectAnswer NVARCHAR(50))
AS
DECLARE @qnum INT

SELECT @qnum = ISNULL(MIN(QuestionOrder),0)+1
FROM SurveyQuestions WHERE SurveyID = @surveyID

INSERT INTO SurveyQuestions(SurveyID, Question, AnswerType,CorrectAnswer,QuestionOrder)
VALUES (@SurveyID, @Question, @AnswerType,@CorrectAnswer,@qnum)

これを解決するにはどうすればよいですか?

それを修正するための鍵は、最初にこのビットを修正することに関係していると思います:

DECLARE @qnum INT

SELECT @qnum = ISNULL(MIN(QuestionOrder),0)+1
FROM SurveyQuestions WHERE SurveyID = @surveyID

よろしくお願いします

4

2 に答える 2