단일 선택에서 둘 이상의 로컬 변수를 업데이트 할 수 있습니까? 같은T-SQL, 단일 선택에서 둘 이상의 변수 업데이트
뭔가 :
set @variableOne = (select avg(someColumn) from tblTable)
set @variableTwo = (select avg(otherColumn) from tblTable)
단일 선택에서 둘 이상의 로컬 변수를 업데이트 할 수 있습니까? 같은T-SQL, 단일 선택에서 둘 이상의 변수 업데이트
뭔가 :
set @variableOne = (select avg(someColumn) from tblTable)
set @variableTwo = (select avg(otherColumn) from tblTable)
뭔가 같은 :
select @var1 = avg(someColumn), @var2 = avg(otherColumn)
from theTable
set
@variableOne = avg(someColumn),
@variableTwo = avg(otherColumn)
from tblTable
그것은이 작업 한 사소한 뭔가를 두 개의 별도의 선택 작업을 할 조금 낭비 보인다
어때?
SELECT @variableOne = avg(someColumn), @variableTwo = avg(otherColumn) from tblTable
잘 작동합니다.
SELECT 지정을 사용하여 여러 변수를 지정할 수 있습니다. 이 코드는 상수의 단일 행을 생성하고 각 변수를 변수에 할당합니다.
SELECT
@var1 = c.Column1,
@var2 = c.Column2,
FROM
Customers c
WHERE c.CustomerID = @CustomerID
가주의 :이 코드는 while 루프처럼 작동 심지어 쿼리 테이블 수와 할당 그런 식으로 할
SELECT
@var1 = 1,
@var2 = 'Zeus'
.
SELECT 지정보다 SET 할당을 사용하는 것이 좋습니다. 위의 두 시나리오 모두를 고려할 때만 SELECT 할당을 사용하십시오.
완벽한, 감사합니다! – jandersson