Joy*_*979 3 sql database sql-server stored-procedures sql-server-2008
我是SQL新手并尝试编写存储过程.我很难将默认值作为输出结果.
我有2张桌子:
Student_Input:
InputID SectionID ParameterName Sequence
------------------------------------------------
1 100 FirstName 1
2 100 MiddleName 2
3 100 LastName 3
Run Code Online (Sandbox Code Playgroud)
Student_Input_details:
ParameterName ParameterValue DefaultValue
-----------------------------------------------------
FirstName John 1
FirstName Troy 0
FirstName Mark 0
Run Code Online (Sandbox Code Playgroud)
我试图ParameterName从一个表中调用from Student_Input和它的默认值Student_Input_Details作为输出.我正在尝试以下查询,但我收到以下错误:
消息201,级别16,状态4,过程Getparameterdefaultvalues,行0
过程或函数'Getparameterdefaultvalues'期望参数'@ParameterValue',它未提供.
我相信我错过了一些重要的事情.
我的查询如下.我正在学习,这可能是一个简单的问题.谢谢........
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
Run Code Online (Sandbox Code Playgroud)
我需要结果(即ParameterName应该只在运行时显示其默认值):
ParameterName ParameterValue
----------------------------------
FirstName John
Run Code Online (Sandbox Code Playgroud)
我试过其他博客,但无法解决这个问题.道歉如果我的问题没有那么清楚.任何帮助都会很棒!! 谢谢
非常简单和容易:您的存储过程需要两个参数 - @ParameterName和@ParameterValue- 但您的通话仅提供一个 ...
您应该像这样调用您的存储过程:
DECLARE @ParameterValue varchar(50)
EXEC Getparameterdefaultvalues @ParameterName = 1, @ParameterValue = @ParameterValue OUTPUT
PRINT 'Result is: ' + @ParameterValue
Run Code Online (Sandbox Code Playgroud)
另外:您将检索到的值作为输出参数返回 - 因此您将单个值返回到变量中 - 您没有返回结果集(行/列).
| 归档时间: |
|
| 查看次数: |
30997 次 |
| 最近记录: |