set

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

문법

set VAR_NAME=EXPR
VAR_NAME = EXPR
표현식을 평가한 값을 매개변수에 할당합니다. 명령어의 우변에는 쿼리 시작 시점에 레코드 없이 평가될 수 있는 모든 표현식을 사용할 수 있습니다.
  • 할당 연산자(=) 전후로 공백문자를 넣어도, 넣지 않아도 동작합니다.
  • 쿼리 시작 시점에 레코드 없이 평가될 수 있는 모든 표현식을 사용할 수 있습니다.
  • 쿼리 매개변수는 하나의 쿼리 인스턴스가 살아있는 동안 유효합니다.
  • 여러 개의 set 명령어가 있을 때는 왼쪽부터 순서대로 평가됩니다.

설명

쿼리 매개변수는 하나의 쿼리 인스턴스가 살아있는 동안 유효하고, set 명령어를 사용해서 쿼리를 시작하는 시점에 매개변수 값을 평가하도록 할 수 있습니다. 아래의 쿼리 문자열은 table 명령어를 사용해서 3일 전 0시부터 당일 0시 이전까지의 데이터를 동적으로 조회하는 예제입니다.

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

위와 같이 set 명령어를 사용하여 쿼리 매개변수를 설정할 수 있으며, $() 함수를 사용하여 쿼리 매개변수의 값을 참조할 수 있습니다.

각 쿼리 명령어의 옵션들은 쿼리 매개변수로 대치할 수 있습니다. 예를 들어, 예약된 쿼리를 실행할 때 현재 날짜를 기준으로 일주일 범위의 데이터를 조회해서 처리한다거나, 프로시저 실행 시 사용자가 입력한 매개변수 값을 이용하여 쿼리를 실행하려고 할 때 쿼리 매개변수를 사용하게 됩니다.

프로시저 호출 시, 프로시저의 매개변수로 전달되는 값들이 쿼리 매개변수로 설정됩니다. 따라서 프로시저를 생성하거나 편집할 때 쿼리 문자열에는 프로시저 매개변수에 해당되는 값들이 이미 있다고 가정하고 $() 함수로 참조하여 사용할 수 있습니다.