SET
SET
세션 변수의 값을 SQL 표현식의 결과로 초기화하는 명령이에요.
출처: 문서
본문
구문 (Syntax)
SET <var> = <expr>
SET ( <var> [ , <var> ... ] ) = ( <expr> [ , <expr> ... ] )
파라미터
- var — 초기화할 변수의 식별자를 지정해요.
- expr — 변수의 SQL 표현식을 지정해요.
사용 메모 (Usage notes)
- 같은 문장에서 여러 변수를 설정할 수 있어요.
- 복잡한 표현식을 지정하면 세션에서 실행 중인 가상 웨어하우스가 필요할 수 있어요.
- 표현식의 수는 초기화할 변수의 수와 일치해야 해요.
- 문자열 또는 이진 변수의 크기는 16KB로 제한돼요.
- SQL 변수의 식별자(이름)는 256자로 제한돼요.
- CURRENT 또는 PUBLIC 같은 변수 이름은 Snowflake의 향후 사용을 위해 예약되어 있어 사용할 수 없어요.
예시 (Examples)
이 두 예시는 상수를 사용하여 변수를 설정해요:
SET V1 = 10;
SET V2 = 'example';
이 예시는 한 번에 둘 이상의 변수를 설정해요:
SET (V1, V2) = (10, 'example');
이 예시는 SQL 쿼리를 사용하는 중요하지 않은 표현식의 값으로 변수를 설정해요:
SET id_threshold = (SELECT COUNT(*)/2 FROM table1);
다음 예시는 SET 명령이 할당 연산자 오른쪽의 모든 표현식을 왼쪽의 첫 번째 표현식을 설정하기 전에 평가함을 보여줘요. max라는 변수의 값이 새 값而不是 min의 이전 값을 기반으로 설정됨을 주목하세요:
SET (min, max) = (40, 70);
SET (min, max) = (50, 2 * $min);
SELECT $max;
+------+
| $MAX |
|------|
| 80 |
+------+