繁体   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