- 카테고리:
시스템 함수 (제어)
SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT¶
지정된 Snowflake 뷰(예: ACCOUNT_USAGE 뷰 또는 INFORMATION_SCHEMA 뷰)에서 모든 열을 선택할 때 반환되어야 하는 열을 제어합니다(SELECT *).
참고
이 함수는 뷰에서 특정 열을 선택하는 쿼리에는 영향을 주지 않습니다.
Snowflake 뷰에 새 열이 도입되어 모든 열을 선택하고 결과의 고정 수 또는 열 순서에 따라 달라지는 스크립트 또는 코드에 문제가 발생하는 경우 이 함수를 호출할 수 있습니다. SHOW 명령 출력 및 Snowflake 뷰에서 새 열 처리하기 섹션을 참조하십시오.
- 참고 항목:
SYSTEM$GET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT , SYSTEM$UNSET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT , SYSTEM$GET_ALL_DEFAULT_COLUMNS_OVERRIDES
구문¶
SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
'<object_type>',
'<database_name>',
'<schema_name>',
'<object_name>',
'<list_of_columns>'
)
인자¶
'object_type''database_name'오브젝트를 포함하는 데이터베이스의 이름입니다. ``’SNOWFLAKE’``를 지정하거나 INFORMATION_SCHEMA 뷰의 경우 빈 문자열을 지정해야 합니다.
'schema_name'오브젝트를 포함하는 스키마의 이름입니다. SNOWFLAKE 데이터베이스 또는 ``’INFORMATION_SCHEMA’``에 스키마 이름을 지정해야 합니다.
'object_name'오브젝트의 이름입니다.
list_of_columns이 뷰에서 모든 열을 선택할 때 반환되어야 하는 쉼표로 구분된 열 또는 공백으로 구분된 열 목록입니다.
열 이름은 대문자, 소문자 또는 대소문자 혼합으로 지정할 수 있습니다.
모든 열을 반환하려면 빈 문자열을 지정하거나 SYSTEM$UNSET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT를 호출합니다.
반환¶
작업이 성공한 경우 TRUE를 반환합니다.
액세스 제어 요구 사항¶
계정 관리자(ACCOUNTADMIN 역할이 부여된 사용자)만 이 함수를 호출할 수 있습니다.
사용법 노트¶
이 함수를 호출하려면 사용 중인 데이터베이스가 있어야 합니다(예: USE DATABASE 실행). 사용 중인 데이터베이스가 없는 경우 함수 호출이 실패합니다.
예¶
다음 예제에서는 ACCOUNT_USAGE 스키마의 TABLES 뷰 뷰에서 모든 열을 선택하여 table_name, table_schema, table_type 열만 반환하도록 쿼리를 구성합니다.
SELECT SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
'VIEW',
'SNOWFLAKE',
'ACCOUNT_USAGE',
'TABLES',
'table_name, table_schema, table_type'
);
해당 뷰에서 모든 열을 선택하면 지정된 열만 반환됩니다.
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.TABLES;
+------------+---------------------+------------+
| TABLE_NAME | TABLE_SCHEMA | TABLE_TYPE |
|------------+---------------------+------------|
| MY_TABLE | MY_SCHEMA | BASE TABLE |
+------------+---------------------+------------+
다음 예제에서는 INFORMATION_SCHEMA 스키마의 TABLES 뷰 뷰에서 모든 열을 선택하여 table_name, table_schema, table_type 열만 반환하도록 쿼리를 구성합니다.
SELECT SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
'VIEW',
'',
'INFORMATION_SCHEMA',
'TABLES',
'table_name, table_schema, table_type'
);
해당 뷰에서 모든 열을 선택하면 지정된 열만 반환됩니다.
SELECT * FROM INFORMATION_SCHEMA.TABLES;
+--------------+------------+------------+
| TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE |
|--------------+------------+------------|
| MY_SCHEMA | MY_TABLE | BASE TABLE |
+--------------+------------+------------+