카테고리:

시스템 함수 (제어)

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>'
)
Copy

인자

'object_type'

오브젝트의 유형입니다. 이 인자에 대해 ``’VIEW’``를 지정해야 합니다.

'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'
);
Copy

해당 뷰에서 모든 열을 선택하면 지정된 열만 반환됩니다.

SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.TABLES;
Copy
+------------+---------------------+------------+
| 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'
);
Copy

해당 뷰에서 모든 열을 선택하면 지정된 열만 반환됩니다.

SELECT * FROM INFORMATION_SCHEMA.TABLES;
Copy
+--------------+------------+------------+
| TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE |
|--------------+------------+------------|
| MY_SCHEMA    | MY_TABLE   | BASE TABLE |
+--------------+------------+------------+