Sql server 可以调用SQL存储过程来返回记录集并将这些值加载到变量中吗? 请考虑以下SQL Server表和存储过程。

Sql server 可以调用SQL存储过程来返回记录集并将这些值加载到变量中吗? 请考虑以下SQL Server表和存储过程。,sql-server,sql-server-2005,Sql Server,Sql Server 2005,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 cusnam

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代码:

declare @cusname varchar(50)

select @cusname = cusname
from customers 
where cusnum = 1
declare @cusnum int
declare @cusname varchar(50)

set @cusnum = 1

exec @cusname = cusname pbogetcus @cusnum
我可以用存储过程执行此操作吗

例如,代码如下所示:

declare @cusname varchar(50)

select @cusname = cusname
from customers 
where cusnum = 1
declare @cusnum int
declare @cusname varchar(50)

set @cusnum = 1

exec @cusname = cusname pbogetcus @cusnum

提前谢谢

不,不能返回那样的值

您需要使用OutputParameters:

编辑:

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


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

如果存储过程返回两行,会发生什么?