시스템 변수 참조
BigQuery는 멀티 문 쿼리 또는 세션 내에서 다음 시스템 변수를 지원합니다. 사용자 정의 절차적 언어 변수와 비슷하게 시스템 변수를 사용해서 쿼리 실행 중 정보를 설정 또는 검색할 수 있습니다.
이름 | 유형 | 읽기 및 쓰기 또는 읽기 전용 | 설명 |
---|---|---|---|
@@current_job_id |
STRING |
읽기 전용 | 현재 실행 중인 작업의 작업 ID입니다. 멀티 문 쿼리의 컨텍스트에서는 전체 멀티 문 쿼리가 아닌 현재 문을 담당하는 작업을 반환합니다. |
@@dataset_id |
STRING |
읽기 및 쓰기 |
현재 프로젝트의 기본 데이터 세트 ID입니다. 이 ID는 쿼리의 프로젝트에 데이터 세트가 지정되지 않은 경우 사용됩니다. SET 문을 사용하여 현재 프로젝트의 다른 데이터 세트 ID에 @@dataset_id 를 할당할 수 있습니다. 시스템 변수 @@dataset_project_id 및 @@dataset_id 를 함께 설정하고 사용할 수 있습니다.
|
@@dataset_project_id |
STRING |
읽기 및 쓰기 |
쿼리에 사용된 데이터 세트에 지정되지 않은 경우 사용되는 기본 프로젝트의 ID입니다. @@dataset_project_id 가 설정되지 않았거나 NULL 로 설정된 경우 쿼리 실행 프로젝트(@@project_id )가 사용됩니다. SET 문을 사용하면 @@dataset_project_id 를 다른 프로젝트 ID에 할당할 수 있습니다. 시스템 변수 @@dataset_project_id 및 @@dataset_id 를 함께 설정하고 사용할 수 있습니다.
|
@@last_job_id |
STRING |
읽기 전용 |
현재 멀티 문 쿼리에서 실행할 가장 최근 작업의 작업 ID이며, 현재 작업은 포함되지 않습니다. 멀티 문 쿼리에 CALL 문이 포함된 경우, 이 작업은 다른 프러시저에서 시작되었을 수 있습니다.
|
@@project_id |
STRING |
읽기 전용 |
현재 쿼리를 실행하는 데 사용된 프로젝트의 ID입니다. 프러시저의 컨텍스트에서 @@project_id 는 프러시저를 소유한 프로젝트가 아니라 멀티 문 쿼리를 실행 중인 프로젝트를 참조합니다.
|
@@query_label |
STRING |
읽기 및 쓰기 |
현재 멀티 문 쿼리 또는 세션에서 쿼리 작업과 연결할 쿼리 라벨입니다. 쿼리에 설정되면 스크립트 또는 세션의 모든 후속 쿼리 작업에 이 라벨이 적용됩니다.
쿼리에 설정되지 않은 경우 이 시스템 변수의 값은 NULL 입니다. 이 시스템 변수를 설정하는 방법의 예시는 라벨이 있는 세션의 작업 연결을 참조하세요.
|
@@row_count |
INT64 |
읽기 전용 |
멀티 문 쿼리에서 사용되고 이전 문이 DML이면 해당 DML 문의 결과로 수정, 삽입 또는 삭제된 행 수를 지정합니다. 이전 문이 MERGE 문인 경우, @@row_count 는 삽입, 제거, 삭제된 전체 행 수를 합한 값을 나타냅니다. 멀티 문 쿼리에 없는 경우, 이 값은 NULL 입니다.
|
@@script.bytes_billed |
INT64 |
읽기 전용 |
현재 실행 중인 멀티 문 쿼리 작업에서 지금까지 청구된 총 바이트 수입니다. 작업에 없는 경우, 이 값은 NULL 입니다.
|
@@script.bytes_processed |
INT64 |
읽기 전용 |
현재 실행 중인 멀티 문 쿼리 작업에서 지금까지 처리된 총 바이트 수입니다. 작업에 없는 경우, 이 값은 NULL 입니다.
|
@@script.creation_time |
TIMESTAMP |
읽기 전용 |
현재 실행 중인 멀티 문 쿼리 작업의 생성 시간입니다.
작업에 없는 경우, 이 값은 NULL 입니다.
|
@@script.job_id |
STRING |
읽기 전용 |
현재 실행 중인 멀티 문 쿼리 작업의 작업 ID입니다. 작업에 없는 경우, 이 값은 NULL 입니다.
|
@@script.num_child_jobs |
INT64 |
읽기 전용 |
현재 완료된 하위 작업 수입니다. 작업에 없는 경우, 이 값은 NULL 입니다.
|
@@script.slot_ms |
INT64 |
읽기 전용 |
지금까지 스크립트가 사용한 슬롯 밀리초입니다.
작업에 없는 경우, 이 값은 NULL 입니다.
|
@@session_id |
INT64 |
읽기 전용 | 현재 쿼리가 연결된 세션의 ID입니다. |
@@time_zone |
STRING |
읽기 및 쓰기 |
시간대가 인수로 지정되지 않은 경우 시간대 종속 SQL 함수에 사용할 기본 시간대입니다.
SET 문을 유효한 시간대 이름으로 사용하여 @@time_zone 을 수정할 수 있습니다.
각 스크립트의 시작 부분에서 @@time_zone 은 'UTC'로 시작합니다.
|
이전 버전과의 호환성을 위해 OPTIONS
또는 FOR SYSTEM TIME AS OF
절에서 사용된 표현식은 기본적으로 America/Los_Angeles
시간대로 지정되고 다른 모든 날짜/시간 표현식은 기본적으로 UTC
시간대로 지정됩니다. 멀티 문 쿼리 앞부분에 @@time_zone
이 설정된 경우 선택한 시간대는 OPTIONS
및 FOR SYSTEM TIME AS OF
절을 포함한 모든 날짜/시간 표현식에 적용됩니다.
위에 나온 시스템 변수 외에 멀티 문 쿼리 실행 중에 EXCEPTION
시스템 변수를 사용할 수 있습니다. EXCEPTION
시스템 변수에 대한 자세한 내용은 절차적 언어 문 BEGIN...EXCEPTION을 참조하세요.
멀티 문 쿼리에서 시스템 변수를 사용하는 방법의 예시는 변수 설정을 참조하세요.
세션에서 시스템 변수를 사용하는 방법의 예시는 예시 세션을 참조하세요.