programing

SQL 다중 열을 다중 변수로 선택

megabox 2023. 4. 29. 09:11
반응형

SQL 다중 열을 다중 변수로 선택

SQL을 Teradata에서 SQL Server로 변환하고 있습니다.

Teradata에서, 그들은 형식을 가지고 있습니다.

SELECT col1, col2
FROM table1
INTO @variable1, @variable2

SQL Server에서 다음을 찾았습니다.

SET @variable1 = (
SELECT col1 
FROM table1
);

따라서 문당 하나의 열/변수만 허용됩니다.단일 SELECT 문을 사용하여 두 개 이상의 변수를 할당하는 방법은 무엇입니까?

SELECT @variable1 = col1, @variable2 = col2
FROM table1
SELECT @var = col1,
       @var2 = col2
FROM   Table

다음은 SET / SELECT에 대한 몇 가지 흥미로운 정보입니다.

  • SET는 변수 할당을 위한 ANSI 표준이지만 SELECT는 그렇지 않습니다.
  • SET는 한 번에 하나의 변수만 할당할 수 있으며, SELECT는 한 번에 여러 개의 변수를 할당할 수 있습니다.
  • 쿼리에서 할당하는 경우 SET는 스칼라 값만 할당할 수 있습니다.쿼리가 여러 개의 값/행을 반환하는 경우 SET에서 오류를 발생시킵니다.SELECT는 변수에 값 중 하나를 할당하고 여러 개의 값이 반환되었다는 사실을 숨깁니다(따라서 다른 곳에서 문제가 발생한 이유를 알 수 없습니다. 문제 해결을 즐겁게 하십시오).
  • 반환된 값이 없는 경우 쿼리에서 할당할 때 SET는 NULL을 할당합니다. 여기서 SELECT는 할당을 전혀 수행하지 않습니다(따라서 변수는 이전 값에서 변경되지 않습니다).
  • 속도 차이에 관한 한 SET와 SELECT 사이에는 직접적인 차이가 없습니다.그러나 SELECT는 한 번의 샷에서 여러 가지 과제를 수행할 수 있기 때문에 SET에 비해 약간의 속도 우위를 확보할 수 있습니다.

언급URL : https://stackoverflow.com/questions/1340775/sql-select-multi-columns-into-multi-variable

반응형