반응형
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
반응형
'programing' 카테고리의 다른 글
Azure 테넌트와 Azure 서브스크립션의 차이점은 무엇입니까? (0) | 2023.05.04 |
---|---|
후행 0 제거 (0) | 2023.05.04 |
Eclipse에서 .* 파일을 표시하려면 어떻게 해야 합니까? (0) | 2023.04.29 |
VBA Excel에서 캘린더 입력을 만들려면 어떻게 해야 합니까? (0) | 2023.04.29 |
Log4net이 로그 파일에 로그를 기록하지 않음 (0) | 2023.04.29 |