Ответ 1
Что-то вроде этого:
select @var1 = avg(someColumn), @var2 = avg(otherColumn)
from theTable
Возможно ли обновить несколько локальных переменных в одном элементе?
Что-то вроде:
set
@variableOne = avg(someColumn),
@variableTwo = avg(otherColumn)
from tblTable
Кажется немного расточительным сделать две отдельные операции выбора для чего-то столь же тривиального, как эта задача:
set @variableOne = ( select avg(someColumn) from tblTable )
set @variableTwo = ( select avg(otherColumn) from tblTable )
Что-то вроде этого:
select @var1 = avg(someColumn), @var2 = avg(otherColumn)
from theTable
Вы можете использовать назначение SELECT для назначения нескольких переменных. Этот код генерирует одну строку констант и присваивает каждому переменную.
SELECT
@var1 = 1,
@var2 = 'Zeus'
Вы даже можете запрашивать таблицы и выполнять назначение таким образом:
SELECT
@var1 = c.Column1,
@var2 = c.Column2,
FROM
Customers c
WHERE c.CustomerID = @CustomerID
Остерегайтесь: этот код работает как цикл while.
Предпочитаете использовать назначение SET по назначению SELECT. Используйте только назначение SELECT при рассмотрении обоих вышеперечисленных сценариев.
как насчет
SELECT @variableOne = avg(someColumn), @variableTwo = avg(otherColumn) from tblTable
он работает для меня просто отлично.