2015-07-01 234 views
-1

(當i型spGetNamebyID 1實施例)我不能執行我的SP執行存儲過程

這是我的代碼

alter proc spGetNameByID 
@ID int, 
@Name varchar(50) output, 
@Gender varchar (50) output 
as 
begin 
    Select @Name = Name, @Gender = Gender from tblEmployee where ID = @ID 
end 

Declare @Name varchar(50), @Gender varchar(50) 
Execute spGetNameByID 2, @Name out, @Gender out 
Print 'Name is ' + @Name + ' Gender ' + @Gender 

我得到這個錯誤信息

消息201,級別16 ,狀態4,過程spGetNameByID,行0過程 或函數'spGetNameByID'需要參數'@Name',它不是 提供的。

+0

'EXEC spGetNameById 2,@Name輸出,@Gender output' – Tom

回答

0

試試這個

Declare @Name varchar(50), @Gender varchar(50) 
exec spGetNameByID @ID = 2, @Name = @Name output, @Gender = @Gender output 

您也可以在SQL Management Studio中存儲過程右鍵,執行程序,它會告訴你查詢。

+0

消息137,15級,狀態2,行1 必須聲明標量變量「@Name」。 –

0

我想我明白了。您必須包括申報和打印

Declare @Name1 varchar(50), @Gender1 varchar(50) 
Execute spGetNameByID 2, @Name1 out, @Gender1 out 
Print 'Name is ' + @Name1 + ' Gender ' + @Gender1 
0

試着寫你的執行行這樣

Execute spGetNameByID @ID = 2 

,並留下了

, @Name = @Name output, @Gender = @Gender output