當我運行下面的存儲過程時,得到:如何解決'Procedure或function addQuestion指定的參數太多'。錯誤?
`過程或函數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
感謝很多提前
你可以發佈你的調用執行這個過程嗎?你幾乎肯定會將太多的參數傳遞給它。 –
@AdrianWragg,它正在工作。我在應用中傳遞了太多爭論。 如果你可以把你的解決方案放在我信任你的地方,那會很好。 謝謝 –