您可以调用返回记录集并将这些值加载到变量中的 SQL 存储过程吗?

问题描述:

请考虑以下 SQL Server 表和存储过程.

Please consider the following SQL Server table and stored procedure.

create table customers(cusnum int, cusname varchar(50))

insert into customers(cusnum, cusname) values(1, 'Ken')
insert into customers(cusnum, cusname) values (2, 'Violet') --The Wife

create procedure getcus 
  @cusnum int
as 
Begin
   select cusname
   from customers (nolock)
   where cusnum = @cusnum
End

您知道如何编写这样的 T-SQL 代码:

You know how you can write T-SQL code like this:

declare @cusname varchar(50)

select @cusname = cusname
from customers 
where cusnum = 1

我可以用我的存储过程来做到这一点吗?

Can I do this with my stored procedure?

例如代码如下所示:

declare @cusnum int
declare @cusname varchar(50)

set @cusnum = 1

exec @cusname = cusname pbogetcus @cusnum

提前致谢.

不,您不能返回那样的值.

No, you can't return values like that.

您需要使用输出参数:MSDN一>.

You need to use OutputParameters: MSDN.

这可能是一个更好的链接:

This might be a better link:

SQL 团队

查看有关中途的部分:使用输出变量