gpt4 book ai didi

sql - 过程或函数 “” 需要参数 '',但未提供

转载 作者:太空狗 更新时间:2023-10-30 02:00:46 24 4
gpt4 key购买 nike

我是 SQL 的新手,正在尝试编写存储过程。我在获取默认值作为输出结果时遇到了一些困难。

我有 2 个表:

Student_Input:

InputID SectionID  ParameterName    Sequence
------------------------------------------------
1 100 FirstName 1
2 100 MiddleName 2
3 100 LastName 3

Student_Input_details:

ParameterName   ParameterValue      DefaultValue
-----------------------------------------------------
FirstName John 1
FirstName Troy 0
FirstName Mark 0

我正在尝试从 Student_Input 调用 ParameterName 并将其从 Student_Input_Details 的默认值作为一个表中的输出。我正在尝试使用以下查询,但出现以下错误:

Msg 201, Level 16, State 4, Procedure Getparameterdefaultvalues, Line 0
Procedure or function 'Getparameterdefaultvalues' expects parameter '@ParameterValue', which was not supplied.

我确定我在这里遗漏了一些重要的东西。

我的查询如下。我正在学习,这可能是一个简单的问题。谢谢…………

CREATE PROCEDURE Getparameterdefaultvalues
(
@ParameterName varchar(50) ,
@ParameterValue varchar(50) OUT
)
AS
BEGIN
SELECT @ParameterValue = DefaultValue FROM ParameterInput_Values
WHERE ParameterName=@ParameterName
END
DECLARE @ParameterValue varchar(50)
EXEC Getparameterdefaultvalues @ParameterName = 1, @ParameterValue OUTPUT
PRINT 'Result is: ' + @ParameterValue

我需要这样的结果(即 ParameterName 应该只在运行时显示其默认值):

ParameterName   ParameterValue      
----------------------------------
FirstName John

我在其他博客上试过,但无法解决这个问题。抱歉,如果我的问题不是很清楚。任何帮助都会很棒!谢谢

最佳答案

非常简单:您的存储过程需要两个参数 - @ParameterName@ParameterValue - 但您的调用只提供一个...

你应该这样调用你的存储过程:

DECLARE @ParameterValue varchar(50) 

EXEC Getparameterdefaultvalues @ParameterName = 1, @ParameterValue = @ParameterValue OUTPUT

PRINT 'Result is: ' + @ParameterValue

此外:您将检索到的值作为输出参数返回 - 因此您将单个值返回到变量中 - 您不会返回结果集(行/列).

关于sql - 过程或函数 “” 需要参数 '',但未提供,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13845082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com