簡體   English   中英

在T-SQL存儲過程中顯示多個輸出參數

[英]display multiple output parameters in T-SQL stored procedure

我想在存儲過程中顯示2個表,每列1列作為我的輸出

定義為

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

執行為

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

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

select @name as 'Name', @company as 'Company'

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

如果要將這些值顯示為1列,2行 - 請使用UNION:

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

請注意,這兩個值將顯示在相同的列名稱“名稱”下

如果您還要顯示字符串'Name'和'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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM