jan*_*son 45 sql t-sql sql-server
是否可以在单个选择中更新多个局部变量?
就像是:
set
@variableOne = avg(someColumn),
@variableTwo = avg(otherColumn)
from tblTable
Run Code Online (Sandbox Code Playgroud)
对于像这项任务一样简单的事情,做两个单独的选择操作似乎有点浪费:
set @variableOne = ( select avg(someColumn) from tblTable )
set @variableTwo = ( select avg(otherColumn) from tblTable )
Run Code Online (Sandbox Code Playgroud)
Fre*_*els 97
像这样的东西:
select @var1 = avg(someColumn), @var2 = avg(otherColumn)
from theTable
Run Code Online (Sandbox Code Playgroud)
Amy*_*y B 13
您可以使用SELECT赋值来分配多个变量.此代码生成一行常量,并将每个常量分配给变量.
SELECT
@var1 = 1,
@var2 = 'Zeus'
Run Code Online (Sandbox Code Playgroud)
您甚至可以查询表并以这种方式进行分配:
SELECT
@var1 = c.Column1,
@var2 = c.Column2,
FROM
Customers c
WHERE c.CustomerID = @CustomerID
Run Code Online (Sandbox Code Playgroud)
注意:此代码的操作类似于while循环.
首选使用SET赋值而不是SELECT赋值.在考虑上述两种情况时,仅使用SELECT赋值.