Categorias:

Funções do sistema (Controle)

SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT

Controla as colunas que devem ser retornadas quando você seleciona todas as colunas (SELECT *) da exibição especificada do Snowflake (por exemplo, de uma exibição ACCOUNT_USAGE específica ou de uma exibição INFORMATION_SCHEMA).

Nota

Essa função não afeta consultas que selecionam colunas específicas da exibição.

Você pode chamar esta função se as novas colunas em uma exibição do Snowflake introduzirem um problema com um script ou código que seleciona todas as colunas e depende de um número ou ordem fixa de colunas nos resultados. Consulte Tratando novas colunas na saída do comando SHOW e nas exibições do Snowflake.

Consulte também:

SYSTEM$GET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT, SYSTEM$UNSET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT, SYSTEM$GET_ALL_DEFAULT_COLUMNS_OVERRIDES

Sintaxe

SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
  '<object_type>',
  '<database_name>',
  '<schema_name>',
  '<object_name>',
  '<list_of_columns>'
)
Copy

Argumentos

'object_type'

Tipo do objeto. Você deve especificar 'VIEW' para este argumento.

'database_name'

Nome do banco de dados que contém o objeto. Você deve especificar 'SNOWFLAKE' ou, para exibições INFORMATION_SCHEMA, uma cadeia de caracteres vazia.

'schema_name'

Nome do esquema que contém o objeto. Você deve especificar o nome de um esquema no banco de dados SNOWFLAKE ou 'INFORMATION_SCHEMA'.

'object_name'

Nome do objeto.

list_of_columns

Lista de colunas separadas por vírgulas ou por espaços que devem ser retornadas quando você seleciona todas as colunas da exibição.

Você pode especificar os nomes das colunas em maiúsculas, minúsculas ou uma mistura de maiúsculas e minúsculas.

Para retornar todas as colunas, especifique uma cadeia de caracteres vazia ou chame SYSTEM$UNSET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT.

Retornos

Retorna TRUE se a operação foi bem-sucedida.

Requisitos de controle de acesso

Somente administradores de conta (usuários a quem foi concedida a função ACCOUNTADMIN) podem chamar essa função.

Notas de uso

  • Você deve ter um banco de dados em uso (por exemplo, executando USE DATABASE) para chamar esta função. Se nenhum banco de dados estiver em uso, a chamada de função falhará.

Exemplos

O exemplo a seguir configura consultas que selecionam todas as colunas da exibição Exibição TABLES no esquema ACCOUNT_USAGE para retornar apenas as colunas table_name, table_schema e table_type:

SELECT SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
  'VIEW',
  'SNOWFLAKE',
  'ACCOUNT_USAGE',
  'TABLES',
  'table_name, table_schema, table_type'
);
Copy

A seleção de todas as colunas dessa exibição retorna somente as colunas especificadas:

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

O exemplo a seguir configura consultas que selecionam todas as colunas da exibição Exibição TABLES no esquema INFORMATION_SCHEMA para retornar apenas as colunas table_name, table_schema e table_type:

SELECT SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
  'VIEW',
  '',
  'INFORMATION_SCHEMA',
  'TABLES',
  'table_name, table_schema, table_type'
);
Copy

A seleção de todas as colunas dessa exibição retorna somente as colunas especificadas:

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