SHOW DATA METRIC FUNCTIONS

Lista as funções de métricas de dados (DMFs) para as quais você tem privilégios de acesso.

Você pode usar este comando para listar as DMFs no banco de dados e esquema atuais da sessão, em um banco de dados ou esquema especificado ou em toda a sua conta.

Consulte também:

CREATE DATA METRIC FUNCTION , ALTER FUNCTION (DMF), DESCRIBE FUNCTION (DMF) , DROP FUNCTION (DMF)

Sintaxe

SHOW DATA METRIC FUNCTIONS
  [ LIKE '<pattern>' ]
  [ IN
      {
        ACCOUNT                  |

        DATABASE                 |
        DATABASE <database_name> |

        SCHEMA                   |
        SCHEMA <schema_name>     |
        <schema_name>
      }
  ]
  [ STARTS WITH '<name_string>' ]
Copy

Parâmetros

LIKE 'pattern'

Opcionalmente, filtra a saída do comando pelo nome do objeto. O filtro utiliza correspondência de padrão que não diferencia maiúsculas e minúsculas, com suporte para caracteres curinga SQL (% e _).

Por exemplo, os seguintes padrões retornam os mesmos resultados:

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. padrão: sem valor (nenhuma filtragem é aplicada à saída).

[ IN ... ]

Opcionalmente, especifica o escopo do comando. Especifique um dos seguintes:

ACCOUNT

Retorna registros para toda a conta.

DATABASE, . DATABASE db_name

Retorna registros do banco de dados atual em uso ou de um banco de dados especificado (db_name).

Se você especificar DATABASE sem db_name e nenhum banco de dados estiver em uso, a palavra-chave não terá efeito sobre a saída.

SCHEMA, . SCHEMA schema_name, . schema_name

Retorna registros do esquema atual em uso ou de um esquema especificado (schema_name).

SCHEMA é opcional se um banco de dados estiver em uso ou se você especificar o schema_name totalmente qualificado (por exemplo, db.schema).

Se nenhum banco de dados estiver em uso, a especificação SCHEMA não terá efeito sobre a saída.

Padrão: depende se a sessão tem ou não um banco de dados em uso no momento:

  • Banco de dados: DATABASE é o padrão (ou seja, o comando retorna os objetos nos quais você tem privilégios para visualizar no banco de dados).

  • Sem banco de dados: ACCOUNT é o padrão (ou seja, o comando retorna os objetos que você tem privilégios de visualização em sua conta).

STARTS WITH 'name_string'

Opcionalmente, filtra a saída do comando com base nos caracteres que aparecem no início do nome do objeto. A cadeia de caracteres deve ser delimitada entre aspas simples e há distinção entre maiúsculas e minúsculas.

Por exemplo, as seguintes cadeias de caracteres retornam resultados diferentes:

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. Padrão: sem valor (nenhuma filtragem é aplicada à saída)

Saída

A saída do comando fornece propriedades e metadados da DMF nas seguintes colunas:

Coluna

Descrição

created_on

O carimbo de data/hora em que a função foi criada.

name

O nome da função.

schema_name

O nome do esquema em que a função existe. (NULL para funções internas).

is_builtin

Y (sim) se a função for uma função interna; caso contrário, N (não).

is_aggregate

Y (sim) se a função for uma função de agregação; caso contrário, N (não).

is_ansi

Y (sim) se a função for definida como parte da norma ANSI SQL; caso contrário, N (não).

min_num_arguments

Número mínimo de argumentos.

max_num_arguments

Número máximo de argumentos.

arguments

Mostra os tipos de dados dos argumentos e do valor do retorno.

description

Descrição da função.

catalog_name

O nome do banco de dados no qual a função existe. (NULL para funções internas).

is_table_function

Y (sim) se a função for uma função de tabela; caso contrário, N (não).

valid_for_clustering

Y (sim) se a função puder ser usada em uma expressão CLUSTER BY; caso contrário, N (não).

is_secure

Y (sim) se a função for uma função segura; caso contrário, N (não).

is_external_function

Y (sim) se a função for uma função externa; caso contrário, N (não).

language

  • Para funções internas, essa coluna mostra SQL.

  • Para funções definidas pelo usuário, essa coluna mostra a linguagem na qual a função foi escrita, por exemplo, JAVASCRIPT ou SQL.

  • Para funções externas, essa coluna mostra EXTERNAL.

is_memoizable

S (sim) se a função for memoizável, N (não) caso contrário.

is_data_metric

S (sim) se a função for uma DMF, N (não) caso contrário.

Requisitos de controle de acesso

Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:

Privilégio

Objeto

Notas

USAGE

Função de métrica de dados

Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Notas de uso

  • As colunas que começam com o prefixo is_ retornam Y (sim) ou N (não).

  • O comando não precisa de um warehouse em funcionamento para ser executado.

  • O comando retorna um máximo de 10 mil registros para o tipo de objeto especificado, como ditado pelos privilégios de acesso para a função usada para executar o comando; quaisquer registros acima do limite 10 mil não são retornados, mesmo com um filtro aplicado.

    Para visualizar resultados para os quais existem mais de 10.000 registros, consulte a visualização correspondente (se houver) em Snowflake Information Schema.

  • Para pós-processar a saída deste comando, você pode usar a função RESULT_SCAN, que trata a saída como uma tabela que pode ser consultada.

Exemplos

O exemplo a seguir lista as DMFs que você tem privilégios para visualizar no esquema dmfs do banco de dados governance:

USE SCHEMA governance.dmfs;

SHOW DATA METRIC FUNCTIONS;
Copy
+--------------------------+------------------------+-------------+------------+--------------+---------+-------------------+-------------------+--------------------------------------------------------------------------------------------+-----------------------+--------------+-------------------+----------------------+-----------+----------------------+----------+---------------+----------------+
| created_on               | name                   | schema_name | is_builtin | is_aggregate | is_ansi | min_num_arguments | max_num_arguments | arguments                                                                                  | description           | catalog_name | is_table_function | valid_for_clustering | is_secure | is_external_function | language | is_memoizable | is_data_metric |
+--------------------------+------------------------+-------------+------------+--------------+---------+-------------------+-------------------+--------------------------------------------------------------------------------------------+-----------------------+--------------+-------------------+----------------------+-----------+----------------------+----------+---------------+----------------+
| 2023-12-11T23:30:02.785Z | COUNT_POSITIVE_NUMBERS | DMFS        | N          | N            | N       | 1                 | 1                 | "COUNT_POSITIVE_NUMBERS(TABLE(NUMBER, NUMBER, NUMBER)) RETURNS NUMBER"                     | user-defined function | GOVERNANCE   | N                 | N                    | N         | N                    | SQL      | N             | Y              |
+--------------------------+------------------------+-------------+------------+--------------+---------+-------------------+-------------------+--------------------------------------------------------------------------------------------+-----------------------+--------------+-------------------+----------------------+-----------+----------------------+----------+---------------+----------------+