set
쿼리 매개변수에 값을 할당합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 없음 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 지원 |
| 분산 실행 | 미지원 |
문법
set VAR_NAME=EXPR
VAR_NAME- 매개변수 이름
EXPR- 매개변수에 할당할 표현식. 쿼리 시작 시점에 레코드 없이 평가됩니다.
- 할당 연산자(
=) 전후에 공백을 넣어도 동작합니다.
입력 필드
없음
출력 필드
없음 (입력 레코드를 변경 없이 전달)
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 10400 | 할당자(=) 가 없습니다. | 할당 연산자(=)가 없는 경우 |
| 10401 | 필드 이름을 찾을 수 없습니다. | 매개변수 이름이 비어 있는 경우 |
| 10402 | 표현식을 찾을 수 없습니다. | 할당할 표현식이 비어 있는 경우 |
런타임 오류
해당 사항 없음
설명
set 명령어는 쿼리 시작 시점에 표현식을 평가하여 쿼리 매개변수에 값을 할당합니다. 할당된 매개변수는 $() 함수로 참조하여 다른 명령어의 옵션 값으로 대입할 수 있습니다.
- 표현식은 쿼리 시작 시점에 레코드 없이 평가됩니다. 레코드 필드를 참조하는 표현식은 사용할 수 없습니다.
- 쿼리 매개변수는 하나의 쿼리 인스턴스가 실행되는 동안 유효합니다.
- 여러 개의
set명령어가 있으면 왼쪽부터 순서대로 평가됩니다. set명령어는 입력 레코드를 변경하지 않고 그대로 다음 명령어로 전달합니다.
프로시저 호출 시 프로시저의 매개변수로 전달되는 값이 쿼리 매개변수로 설정됩니다. 따라서 프로시저 쿼리 문자열에서 $() 함수로 매개변수를 참조할 수 있습니다.
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
상태 코드 임곗값을 매개변수로 설정하여 오류 로그 필터링
set min_status = 400 | table WEB_APACHE_SAMPLE | search status >= $("min_status") | stats count by statusHTTP 상태 코드 임곗값을 매개변수로 설정하고, table 명령어로 조회한 웹 로그에서 오류 요청만 필터링하여 상태 코드별 건수를 집계합니다.
-
날짜 범위를 매개변수로 설정하여 동적 조회
set from = string(dateadd(now(), "day", -3), "yyyyMMdd") | set to = string(now(), "yyyyMMdd") | table from=$("from") to=$("to") sys_cpu_logs3일 전 0시부터 당일 0시까지의 데이터를 동적으로 조회합니다.
set명령어로 날짜 문자열을 매개변수에 할당하고, table 명령어의from,to옵션에 $() 함수로 대입합니다.
호환성
set 명령어는 소나 4.0 이전 버전부터 제공되었습니다.