PARAMETERS 뷰

INFORMATION_SCHEMA.PARAMETERS 뷰에는 데이터 세트에 있는 각 루틴의 매개변수마다 행이 한 개씩 포함됩니다.

필수 권한

INFORMATION_SCHEMA.PARAMETERS 뷰를 쿼리하려면 다음 Identity and Access Management(IAM) 권한이 필요합니다.

  • bigquery.routines.get
  • bigquery.routines.list

다음과 같은 사전 정의된 각 IAM 역할에는 루틴 메타데이터를 가져오는 데 필요한 권한이 포함되어 있습니다.

  • roles/bigquery.admin
  • roles/bigquery.metadataViewer
  • roles/bigquery.dataViewer

BigQuery 권한에 대한 자세한 내용은 IAM으로 액세스 제어를 참조하세요.

스키마

INFORMATION_SCHEMA.PARAMETERS 뷰를 쿼리하면 데이터 세트에 있는 각 루틴의 매개변수마다 행이 한 개씩 쿼리 결과에 포함됩니다.

INFORMATION_SCHEMA.PARAMETERS 뷰에는 다음과 같은 스키마가 있습니다.

열 이름 데이터 유형
SPECIFIC_CATALOG STRING 매개변수를 포함하는 루틴이 정의된 데이터 세트가 포함된 프로젝트의 이름
SPECIFIC_SCHEMA STRING 매개변수가 정의된 루틴이 포함된 데이터 세트의 이름
SPECIFIC_NAME STRING 매개변수가 정의된 루틴의 이름
ORDINAL_POSITION STRING 매개변수의 경우 1부터 시작하는 위치 또는 반환 값의 경우 0부터 시작하는 위치
PARAMETER_MODE STRING 매개변수 모드로, IN, OUT, INOUT, NULL 중 하나
IS_RESULT STRING 매개변수가 함수의 결과인지 여부(YES 또는 NO)
PARAMETER_NAME STRING 매개변수의 이름
DATA_TYPE STRING 매개변수 유형으로, 임의의 유형으로 정의된 경우에는 ANY TYPE
PARAMETER_DEFAULT STRING SQL 리터럴 값인 매개변수의 기본값으로, 항상 NULL
IS_AGGREGATE STRING 집계 매개변수인지 여부로, 항상 NULL

범위 및 구문

이 뷰에 대한 쿼리에는 데이터 세트나 리전 한정자가 포함되어야 합니다. 자세한 내용은 구문을 참조하세요. 다음 표에서는 이 뷰의 리전 범위와 리소스 범위를 설명합니다.

뷰 이름 리소스 범위 리전 범위
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.PARAMETERS 프로젝트 수준 REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.PARAMETERS 데이터 세트 수준 데이터 세트 위치
다음을 바꿉니다.

  • (선택사항) PROJECT_ID: Google Cloud 프로젝트의 ID입니다. 지정하지 않으면 기본 프로젝트가 사용됩니다.
+ REGION: 모든 데이터 세트 리전 이름입니다. 예를 들면 region-us입니다. + DATASET_ID: 데이터 세트의 ID입니다. 자세한 내용은 데이터 세트 한정자를 참조하세요.

예시

-- Returns metadata for parameters of a routine in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.PARAMETERS;

-- Returns metadata for parameters of a routine in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.PARAMETERS;

기본 프로젝트가 아닌 다른 프로젝트의 데이터 세트에 대해 쿼리를 실행하려면 다음 형식으로 프로젝트 ID를 추가하세요.

`PROJECT_ID`.`DATASET_ID`.INFORMATION_SCHEMA.PARAMETERS
다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • DATASET_ID: 데이터 세트 ID

예를 들면 example-project.mydataset.INFORMATION_SCHEMA.JOBS_BY_PROJECT입니다.

다음 예시에서는 INFORMATION_SCHEMA.PARAMETERS 뷰의 모든 매개변수를 검색합니다. 기본 프로젝트 myproject에서 mydataset에 있는 루틴의 메타데이터가 반환됩니다.

SELECT
  * EXCEPT(is_typed)
FROM
  mydataset.INFORMATION_SCHEMA.PARAMETERS
WHERE
  table_type = 'BASE TABLE';

결과는 다음과 비슷합니다.

+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+
| specific_catalog  | specific_schema  | specific_name | ordinal_position | parameter_mode | is_result | parameter_name | data_type | parameter_default | is_aggregate |
+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+
| myproject         | mydataset        | myroutine1    | 0                | NULL           | YES       | NULL           | INT64     | NULL              | NULL         |
| myproject         | mydataset        | myroutine1    | 1                | NULL           | NO        | x              | INT64     | NULL              | NULL         |
+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+