Procedure or function “” expects parameter '', which was not supplied
Pretty simple and easy: your stored procedure expects two parameters - @ParameterName
and @ParameterValue
- but your call only supplies one...
You should call your stored procedure like this:
DECLARE @ParameterValue varchar(50)
EXEC Getparameterdefaultvalues @ParameterName = 1, @ParameterValue = @ParameterValue OUTPUT
PRINT 'Result is: ' + @ParameterValue
Also: you're returning the retrieved value as an output parameter - so you're getting back a single value into a variable - you're not getting back a result set (rows/columns).
Joy1979
Updated on July 21, 2022Comments
-
Joy1979 almost 2 years
I am new to SQL and trying to write a stored procedure. I am having some difficulties to get default values as an output result.
I have 2 table:
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
I am trying to call
ParameterName
fromStudent_Input
and Its default value fromStudent_Input_Details
as an output in one table. I am trying with following query but I am getting following error:Msg 201, Level 16, State 4, Procedure Getparameterdefaultvalues, Line 0
Procedure or function 'Getparameterdefaultvalues' expects parameter '@ParameterValue', which was not supplied.I am sure I am missing something important here.
My query is below. I am learning , it may be an easy question. Thx........
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
I need result like (i.e.
ParameterName
should only display its default value at runtime):ParameterName ParameterValue ---------------------------------- FirstName John
I have tried on other blogs but couldn't resolve this. Apologies If my question is not so cleared. Any help would be great!! Thx
-
Adir D over 11 yearsPlease use the {} button to properly format code samples.
-
-
Joy1979 over 11 yearsHi, I tried with your query but I am getting following error: (Must pass parameter number 2 and subsequent parameters as '@name = value'. After the form '@name = value' has been used, all subsequent parameters must be passed in the form '@name = value'.)...........
-
marc_s over 11 years@Joy1979: updated my response - which version of SQL Server are you using??