카테고리:

계정 및 세션 DDL

SET

세션 변수 의 값을 SQL 식의 결과로 초기화합니다.

참고 항목:

SHOW VARIABLES , UNSET

구문

SET <var> = <expr>

SET ( <var> [ , <var> ... ] )  = ( <expr> [ , <expr> ... ] )

매개 변수

var

초기화할 변수의 식별자를 지정합니다.

expr

변수에 대한 SQL 식을 지정합니다.

사용법 노트

  • 이 명령을 사용해 같은 문에서 여러 변수를 설정할 수 있습니다.

  • 명령이 복잡한 식을 실행하는 경우 세션에서 실행 중인 가상 웨어하우스가 필요할 수 있습니다.

  • 식의 수는 초기화할 변수의 수와 일치해야 합니다.

  • 문자열 또는 이진 변수의 크기는 256바이트로 제한됩니다.

  • SQL 변수의 식별자(즉, 이름)는 256자로 제한됩니다.

  • CURRENT 또는 PUBLIC 과 같은 변수 이름은 Snowflake에서 나중에 사용하도록 예약되어 있어 사용할 수 없습니다.

다음 두 예에서는 상수를 사용합니다.

SET V1 = 10;

SET V2 = 'example';

다음은 한 번에 두 개 이상의 변수를 설정하는 예입니다.

SET (V1, V2) = (10, 'example');

다음은 변수를 SQL 쿼리를 사용하는 특수한 식의 값으로 설정하는 예입니다.

SET id_threshold = (SELECT COUNT(*) FROM table1) / 2;

다음은 SET 명령이 할당 연산자의 오른쪽에 있는 모든 식을 계산한 후 연산자의 왼쪽에 있는 첫 번째 식을 설정하는 경우를 보여주는 예입니다. 《max》로 명명된 변수의 값은 새 값이 아닌 《min》의 이전 값을 기반으로 설정됩니다.

set (min, max) = (40, 70);
set (min, max) = (50, 2 * $min);
+----------------------------------+
| status                           |
|----------------------------------|
| Statement executed successfully. |
+----------------------------------+
select $max;
+------+
| $MAX |
|------|
|   80 |
+------+
맨 위로 이동