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 | +-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+