# 스크립팅
스크립팅(Scripting)은 하나의 요청으로 BigQuery에 여러 쿼리를 전송할 수 있습니다. 스크립트 프로그래밍 언어인 파이썬처럼 IF
, WHILE
문을 사용할 수 있고, DECLARE
를 사용해 변수를 선언하고 SET
으로 값을 할당할 수 있습니다. 할당된 값은 그 아래 쿼리문에서 사용할 수 있습니다.
그 외에도 RAISE
를 사용해 오류 메세지를 발생시킬 수 있고, CALL
을 사용해 프로시져를 호출할 수 있습니다.
여기선 많이 사용하는 부분 위주로 설명하며, 나머지 내용은 공식 문서 (opens new window)를 참고해주세요.
# DECLARE, SET
변수를 설정해서 값을 할당한 후, 쿼리를 실행하고 싶은 경우 사용합니다. 일반 쿼리문과 다르게 세미 콜론(;
)이 꼭 필요합니다
DECLARE 변수이름 타입 DEFAULT default로 사용할 값;
SET 변수 설정;
SELECT 문
DECLARE x INT64;
SET x=5;
SELECT x, x+1
# IF
조건이 TRUE인 경우 SELECT 문1을 실행하고, 조건이 일치않으면 그 아래의 SELECT문을 실행합니다.
IF 조건문 THEN SELECT문1
ELIF 조건문2 THEN SELECT문2
ELSE SELECT문3
END IF;
# WHILE
WHILE boolean_expression DO
SELECT문
END WHILE;
# LOOP
BREAK
또는 LEAVE
문이 루프를 종료할 때까지 SELECT문을 실행합니다. LOOP는 EXECUTE IMMEDIATE
문에 중첩될 수 없습니다(동적으로 실행되지 않습니다)
LOOP
SELECT문
END LOOP;
DECLARE x INT64 DEFAULT 0;
LOOP
SET x = x + 1;
IF x >= 10 THEN
LEAVE;
END IF;
END LOOP;
SELECT x;