mak_ufo
@mak_ufo

Как сохранить несколько значений в переменную?

Как можно сохранить несколько значений в переменную?
DECLARE @data string[]
SET @data = SELECT text FROM table;
  • Вопрос задан
  • 705 просмотров
Решения вопроса 3
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
Как сохранить несколько значение в переменную?
Для MS SQL можно использовать функции работы со списками. STRING_SPLIT (Transact-SQL) и STRING_AGG (Transact-SQL).
Например

Список ролей дополняется другим списком без повторов.
DECLARE @Role TABLE(Role VARCHAR(100))
INSERT INTO @Role SELECT TRIM( value ) FROM STRING_SPLIT( @RLR, ',' )
INSERT INTO @Role SELECT TRIM( value ) FROM STRING_SPLIT( @ROL, ',' ) 
                                  WHERE TRIM( value ) NOT IN ( SELECT [Role] FROM @Role )
DELETE @Role WHERE (TRIM( [Role] ) = '')
SELECT @RLR = STRING_AGG ( [Role], ', ' ) FROM @Role
Ответ написан
@res2001
Developer, ex-admin
Нельзя сохранить несколько значений - только одно.
Используйте курсор для обхода строк.
Для возврата из функции - можно возвращать таблицу (для ms sql).
Ответ написан
Комментировать
@art_karetnikov
Лучший мой проект: Мобильный банк Сбербанка РФ.
Доброго. Это массив называется. Сохранять данные из запроса в массив не нужно, когда ты пользуешься базой данных. Массив в базе данных - это ТАБЛИЦА.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы