代码之家  ›  专栏  ›  技术社区  ›  codingguy3000

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

  •  2
  • codingguy3000  · 技术社区  · 16 年前

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

    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
    

    提前谢谢。

    1 回复  |  直到 16 年前
        1
  •  3
  •   Tom Tresansky    16 年前

    不,不能返回那样的值。

    您需要使用outputParameters: MSDN .

    编辑:

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

    SQL Team

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