ВЫБРАТЬ В более чем одну переменную - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь создать хранимую процедуру, получить некоторые данные из базы данных, а затем поместить эти данные в переменные.

Сейчас я использую это:

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 
        ) 

1 Ответ

1 голос
/ 22 марта 2020

Select лучше, чем Set для помещения этих данных в переменные.

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 нажмите здесь Я надеюсь, что вы лучше

...