set

쿼리 매개변수에 값을 할당합니다.

명령어 속성

항목설명
명령어 유형가공 쿼리
필요 권한없음
라이선스 사용량해당 없음
병렬 실행지원
분산 실행미지원

문법

set VAR_NAME=EXPR
VAR_NAME
매개변수 이름
EXPR
매개변수에 할당할 표현식. 쿼리 시작 시점에 레코드 없이 평가됩니다.
  • 할당 연산자(=) 전후에 공백을 넣어도 동작합니다.

입력 필드

없음

출력 필드

없음 (입력 레코드를 변경 없이 전달)

오류 코드

파싱 오류
오류 코드메시지설명
10400할당자(=) 가 없습니다.할당 연산자(=)가 없는 경우
10401필드 이름을 찾을 수 없습니다.매개변수 이름이 비어 있는 경우
10402표현식을 찾을 수 없습니다.할당할 표현식이 비어 있는 경우
런타임 오류

해당 사항 없음

설명

set 명령어는 쿼리 시작 시점에 표현식을 평가하여 쿼리 매개변수에 값을 할당합니다. 할당된 매개변수는 $() 함수로 참조하여 다른 명령어의 옵션 값으로 대입할 수 있습니다.

  • 표현식은 쿼리 시작 시점에 레코드 없이 평가됩니다. 레코드 필드를 참조하는 표현식은 사용할 수 없습니다.
  • 쿼리 매개변수는 하나의 쿼리 인스턴스가 실행되는 동안 유효합니다.
  • 여러 개의 set 명령어가 있으면 왼쪽부터 순서대로 평가됩니다.
  • set 명령어는 입력 레코드를 변경하지 않고 그대로 다음 명령어로 전달합니다.

프로시저 호출 시 프로시저의 매개변수로 전달되는 값이 쿼리 매개변수로 설정됩니다. 따라서 프로시저 쿼리 문자열에서 $() 함수로 매개변수를 참조할 수 있습니다.

사용 예

이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.

  1. 상태 코드 임곗값을 매개변수로 설정하여 오류 로그 필터링

    set min_status = 400
    | table WEB_APACHE_SAMPLE
    | search status >= $("min_status")
    | stats count by status
    

    HTTP 상태 코드 임곗값을 매개변수로 설정하고, table 명령어로 조회한 웹 로그에서 오류 요청만 필터링하여 상태 코드별 건수를 집계합니다.

  2. 날짜 범위를 매개변수로 설정하여 동적 조회

    set from = string(dateadd(now(), "day", -3), "yyyyMMdd")
    | set to = string(now(), "yyyyMMdd")
    | table from=$("from") to=$("to") sys_cpu_logs
    

    3일 전 0시부터 당일 0시까지의 데이터를 동적으로 조회합니다. set 명령어로 날짜 문자열을 매개변수에 할당하고, table 명령어의 from, to 옵션에 $() 함수로 대입합니다.

호환성

set 명령어는 소나 4.0 이전 버전부터 제공되었습니다.