Получение нескольких значений в курсоре SQL Server

У меня есть курсор, содержащий несколько столбцов из строки, которую он возвращает, что я хотел бы обработать сразу. Я замечаю, что большинство примеров, которые я вижу о том, как использовать курсоры, показывают, что они назначают определенный столбец от курсора к скалярному значению по одному, а затем переходят к следующей строке,

например

OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN --Do Stuff with @name scalar value, then get next row from cursor FETCH NEXT FROM db_cursor INTO @name END 

Я хочу знать, если можно сделать что-то вроде следующего:

  OPEN db_cursor FETCH NEXT FROM db_cursor; WHILE @@FETCH_STATUS = 0 BEGIN SET @myName = db_cursor.name; SET @myAge = db_cursor.age; SET @myFavoriteColor = db_cursor.favoriteColor; --Do stuff with scalar values FETCH NEXT FROM db_cursor; END 

Помощь всегда приветствуется.

Это должно работать:

 DECLARE db_cursor CURSOR FOR SELECT name, age, color FROM table; DECLARE @myName VARCHAR(256); DECLARE @myAge INT; DECLARE @myFavoriteColor VARCHAR(40); OPEN db_cursor; FETCH NEXT FROM db_cursor INTO @myName, @myAge, @myFavoriteColor; WHILE @@FETCH_STATUS = 0 BEGIN --Do stuff with scalar values FETCH NEXT FROM db_cursor INTO @myName, @myAge, @myFavoriteColor; END; CLOSE db_cursor; DEALLOCATE db_cursor; 
  • курсор сервера sql
  • пытаясь избавиться от курсора для обновления
  • MS SQL Server - Когда хороший CURSOR?
  • Объявить курсор в динамическом sql
  • Моя первая функция, ориентированная на таблицу и курсор
  • Есть ли способ использовать параметры в курсе SQL Server?
  • Скопировать таблицу по строкам
  • Есть ли способ получить список открытых / выделенных курсоров на SQL-сервере?
  • Объединение данных в SQL Server 2016
  • XML-файл SQL Server с несколькими узлами с одинаковым именем
  • Может ли этот курсор быть оптимизирован или переписан для оптимальной производительности?
  • Давайте будем гением компьютера.