Reputation: 1640
I am using stored procedure. My stored procedure is
Create PROCEDURE [dbo].[SP_HouseHoldMembers]
(
@StudentID varchar
)
AS
BEGIN
SELECT MemberID,FirstName+''+LastName,Age,Sex,Education
FROM Student SD
WHERE SD.StudentID=@StudentID
END
I execute it like this:
EXEC [dbo].[SP_HouseHoldMembers] @StudentID='123'
BUT ITS NOT SHOWING THE RESULT AND WHEN I execute it simply by using simple query taking this 123
as an input then it gives the desired result.
Please someone tell where i am going wrong
Upvotes: 1
Views: 26232
Reputation: 754468
You've defined your parameter to be varchar
- that means: variable length string of 1 character length!!
You need to give that varchar
a explicit length!
Create PROCEDURE [dbo].[SP_HouseHoldMembers]
(@StudentID varchar(20) )
AS
BEGIN
SELECT MemberID,FirstName + '' + LastName, Age, Sex, Education
FROM Student SD
WHERE SD.StudentID = @StudentID
END
Upvotes: 2
Reputation: 175766
Your using this parameter:
@StudentID varchar
This is a 1 charactrer string, so passing '123'
is truncated to '1'
Instead;
@StudentID int
or
@StudentID varchar(<insert appropriate size>)
Upvotes: 6