2013-07-31 33 views
0

我想在已執行作爲顯示多個輸出參數存儲過程

declare @name varchar(20), @company varchar(20) 

exec dbo.p1 @name = @name, @company = @company 

select @name as 'Name', @company as 'Company' 
存儲過程

定義爲

create procedure p1 
     @name  varchar(20) OUTPUT, 
     @company varchar(20) OUTPUT 
As 

BEGIN 
     select @name = t1.name from table1 t1; 

     select @company = t2.company from table2; 

END 

顯示每個1列的2代表作爲我的輸出

但是,這只是顯示一行。我究竟做錯了什麼?

回答

2

如果你想爲1列,2行顯示的價值觀 - 使用UNION:

select @name as 'Name' 
UNION ALL 
select @company 

需要注意的是,這兩個值在相同的列名顯示「名稱」

如果你想顯示字符串'名稱'和'公司',以及您將不得不保證另一列的行順序:

select 'Name' as Info, 0 as Sort 
UNION ALL 
select @name, 1 
UNION ALL 
select 'Company', 2 
UNION ALL 
select @company, 3 
Order by Sort 
相關問題