как присвоить результат запроса локальной переменной в T-SQL - PullRequest
0 голосов
/ 08 ноября 2018

Мне нужно сохранить / присвоить результат запроса нескольких столбцов локальной переменной

например;

declare @localVariable

select @localVariable = userId, userName, email, address 
from user;

Я считаю, что приведенный выше код неверен!

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Нельзя смешивать присвоение переменной и извлечение данных внутри оператора выбора. Это не будет работать:

DECLARE @localVariable INT;
SELECT TOP 1 @localVariable = userId, userName FROM user;

Но это будет:

-- copy values from multiple columns to variables
DECLARE @localVariable1 INT;
DECLARE @localVariable2 VARCHAR(100);
SELECT TOP 1 @localVariable1 = userId, @localVariable2 = userName FROM user;
0 голосов
/ 08 ноября 2018

Для этого нужно объявить табличную переменную:

DECLARE @localVariable AS TABLE
(
    userId int,
    userName varchar(10),
    email nvarchar(100),
    address nvarchar(1000)
);

INSERT INTO @localVariable (userId, userName, email, address)
SELECT userId, userName, email, address
FROM [user];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...