ROUTINES 뷰
INFORMATION_SCHEMA.ROUTINES
뷰에는 데이터 세트의 각 루틴에 대한 행 하나가 포함됩니다.
필수 권한
INFORMATION_SCHEMA.ROUTINES
뷰를 쿼리하려면 다음 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.ROUTINES
뷰를 쿼리하면 데이터세트에 있는 루틴마다 행이 한 개씩 쿼리 결과에 포함됩니다.
INFORMATION_SCHEMA.ROUTINES
뷰에는 다음과 같은 스키마가 있습니다.
열 이름 | 데이터 유형 | 값 |
---|---|---|
SPECIFIC_CATALOG |
STRING |
루틴이 정의된 데이터 세트가 포함된 프로젝트의 이름 |
SPECIFIC_SCHEMA |
STRING |
루틴이 포함된 데이터 세트의 이름 |
SPECIFIC_NAME |
STRING |
루틴의 이름 |
ROUTINE_CATALOG |
STRING |
루틴이 정의된 데이터 세트가 포함된 프로젝트의 이름 |
ROUTINE_SCHEMA |
STRING |
루틴이 포함된 데이터 세트의 이름 |
ROUTINE_NAME |
STRING |
루틴의 이름 |
ROUTINE_TYPE |
STRING |
루틴 유형:
|
DATA_TYPE |
STRING |
루틴이 반환하는 데이터 유형 루틴이 저장된 프로시져인 경우 NULL |
ROUTINE_BODY |
STRING |
루틴이 자바스크립트 사용자 정의 함수인 경우에 루틴 본문이 정의되는 방식으로, SQL 또는 EXTERNAL |
ROUTINE_DEFINITION |
STRING |
루틴 정의 |
EXTERNAL_LANGUAGE |
STRING |
루틴이 자바스크립트 사용자 정의 함수인 경우에는 JAVASCRIPT , 루틴이 SQL로 정의된 경우에는 NULL |
IS_DETERMINISTIC |
STRING |
루틴이 확정적인 것으로 알려진 경우에는 YES , 그렇지 않은 경우에는 NO , 알 수 없는 경우에는 NULL |
SECURITY_TYPE |
STRING |
루틴의 보안 유형, 항상 NULL |
CREATED |
TIMESTAMP |
루틴 생성 시간 |
LAST_ALTERED |
TIMESTAMP |
루틴 최종 수정 시간 |
DDL |
STRING |
CREATE FUNCTION 또는 CREATE PROCEDURE 와 같이 루틴을 만드는 데 사용할 수 있는 DDL 문
|
범위 및 구문
이 뷰에 대한 쿼리에는 데이터 세트나 리전 한정자가 포함되어야 합니다. 자세한 내용은 구문을 참조하세요. 다음 표에서는 이 뷰의 리전 범위와 리소스 범위를 설명합니다.
뷰 이름 | 리소스 범위 | 리전 범위 |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ROUTINES |
프로젝트 수준 | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.ROUTINE |
데이터 세트 수준 | 데이터 세트 위치 |
- (선택사항)
PROJECT_ID
: Google Cloud 프로젝트의 ID입니다. 지정하지 않으면 기본 프로젝트가 사용됩니다. REGION
: 모든 데이터 세트 리전 이름입니다. 예를 들면region-us
입니다.DATASET_ID
: 데이터 세트의 ID입니다. 자세한 내용은 데이터 세트 한정자를 참조하세요.
예시
-- Returns metadata for routines in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.ROUTINES;
-- Returns metadata for routines in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.ROUTINES;
예시
예시
기본 프로젝트가 아닌 프로젝트에 쿼리를 실행하려면 프로젝트 ID를 다음 형식으로 데이터 세트에 추가합니다.
`PROJECT_ID`.INFORMATION_SCHEMA.ROUTINES
`myproject`.INFORMATION_SCHEMA.ROUTINES
입니다.
다음 예시에서는 INFORMATION_SCHEMA.ROUTINES
뷰의 모든 열을 검색합니다. 기본 프로젝트 myproject
에서 mydataset
에 있는 모든 루틴의 메타데이터가 반환됩니다. 데이터 세트 mydataset
에는 myroutine1
이라는 루틴이 포함되어 있습니다.
SELECT * FROM mydataset.INFORMATION_SCHEMA.ROUTINES;
결과는 다음과 비슷합니다.
+------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+ | specific_catalog | specific_schema | specific_name | routine_catalog | routine_schema | routine_name | routine_type | data_type | routine_body | routine_definition | external_language | is_deterministic | security_type | created | last_altered | ddl | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+ | myproject | mydataset | myroutine1 | myproject | mydataset | myroutine1 | FUNCTION | NULL | SQL | x + 3 | NULL | NULL | NULL | 2019-10-03 17:29:00.235 UTC | 2019-10-03 17:29:00.235 UTC | CREATE FUNCTION myproject.mydataset.myroutine1(x FLOAT64) | | | | | | | | | | | | | | | | | AS ( | | | | | | | | | | | | | | | | | x + 3 | | | | | | | | | | | | | | | | | ); | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+