首页 > 解决方案 > SELECT INTO 多个变量

问题描述

我正在尝试创建存储过程,从数据库中获取一些数据,然后将这些数据放入变量中。

现在我正在使用这个:

DECLARE @CurrentRbr int;
        SET @CurrentRbr = 
        (
           SELECT Max(Rbr) + 1 As CurrentRbr 
           FROM Orders 
           WHERE OrderID=@OrderID 
        ) 

我想要更多的变量:

DECLARE @OrderAdress varchar(50), @OrderCity varchar (20)

我可以做类似的事情吗(这当然行不通):

SET @CurrentRbr,@OrderAdress,@OrderCity = 
        (
           SELECT Max(Rbr) + 1 As CurrentRbr,OrderAdress,OrderCity 
           FROM Orders 
           WHERE OrderID=@OrderID 
        ) 

标签: tsqlsql-server-2008

解决方案


SelectSet将数据放入变量更好。

DECLARE @CurrentRbr int,@OrderAdress varchar(50), @OrderCity varchar (20)

       SELECT @CurrentRbr = Max(Rbr) + 1 ,
              @OrderAdress=OrderAdress,
              @OrderCity=OrderCity 
       FROM Orders 
       WHERE OrderID=@OrderID 
       Group by OrderAdress, OrderCity

如果您使用一个不需要的变量,SET如下所示:

DECLARE @CurrentRbr int = (
           SELECT Max(Rbr) + 1 As CurrentRbr 
           FROM Orders 
           WHERE OrderID=@OrderID 
        ) 

您可以在 SQL 中阅读另一种形式的使用变量单击此处 希望您一切顺利


推荐阅读