Categorias:

Information Schema , Funções de tabela

DYNAMIC_TABLES

Esta função de tabela retorna metadados sobre tabelas dinâmicas, incluindo métricas de atraso agregadas e o status das atualizações mais recentes, dentro de 7 dias do horário atual.

Sintaxe

DYNAMIC_TABLES (
  [ NAME => '<string>' ]
  [ , REFRESH_DATA_TIMESTAMP_START => <constant_expr> ]
  [ , RESULT_LIMIT => <integer> ]
  [ , INCLUDE_CONNECTED => { TRUE | FALSE } ]
)
Copy

Argumentos

Todos os argumentos são opcionais. Se nenhum argumento for fornecido, serão retornadas 100 atualizações de todas as tabelas dinâmicas da conta.

NAME => 'string'

O nome de uma tabela dinâmica.

Os nomes devem estar entre aspas simples e não diferenciam maiúsculas de minúsculas.

Você pode especificar o nome não qualificado (dynamic_table_name), o nome parcialmente qualificado (schema_name.dynamic_table_name) ou o nome totalmente qualificado (database_name.schema_name.dynamic_table_name).

Para obter mais informações sobre a resolução de nomes de objetos, consulte Resolução de nome de objeto.

A função retorna os metadados para esta tabela.

REFRESH_DATA_TIMESTAMP_START => constant_expr

Hora (em formato TIMESTAMP_LTZ) para calcular métricas relacionadas à meta de atraso da tabela dinâmica. Inclui todas as atualizações com LATEST_DATA_TIMESTAMP maior ou igual a REFRESH_DATA_TIMESTAMP_START.

Padrão: todas as atualizações no histórico de atualizações são mantidas por 7 dias.

RESULT_LIMIT => integer

Um número especificando o número máximo de linhas retornadas pela função.

Se o número de linhas correspondentes for maior que este limite, as atualizações que foram concluídas mais recente (ou aquelas que ainda estão em execução) são retornadas até o limite especificado.

Intervalo: 1 a 10000

Padrão: 100.

INCLUDE_CONNECTED => { TRUE | FALSE }

Quando definido para TRUE, a função retorna metadados para todas as tabelas dinâmicas conectadas à tabela dinâmica especificada pelo argumento NAME.

Você deve especificar o argumento NAME, você não deve especificar o argumento RESULT_LIMIT.

Padrão: FALSE

Saída

A função retorna as seguintes colunas.

Para exibir essas colunas, é necessário usar uma função com o privilégio MONITOR. Caso contrário, a função retorna apenas um valor para NAME, SCHEMA_NAME, DATABASE_NAME e QUALIFIED_NAME. Para obter mais informações sobre privilégios de tabela dinâmica, consulte Privilégios para visualizar os metadados de uma tabela dinâmica.

Nome da coluna

Tipo de dados

Descrição

NAME

TEXT

Nome da tabela dinâmica.

SCHEMA_NAME

TEXT

Nome do esquema que contém a tabela dinâmica.

DATABASE_NAME

TEXT

Nome do banco de dados que contém a tabela dinâmica.

QUALIFIED_NAME

TEXT

Nome totalmente qualificado da tabela dinâmica.

TARGET_LAG_SEC

NUMBER

Tempo de atraso de destino em segundos da tabela dinâmica. Este é o valor especificado no parâmetro TARGET_LAG da tabela dinâmica.

TARGET_LAG_TYPE

TEXT

O tipo de meta de atraso. Isso pode ser o seguinte:

  • USER_DEFINED: determinado pelo parâmetro TARGET_LAG especificado para a tabela dinâmica.

  • DOWNSTREAM: inclui uma tabela dinâmica com uma meta de atraso DOWNSTREAM.

SCHEDULING_STATE

OBJECT

OBJECT consiste em:

  • STATE (TEXT): estado de agendamento (RUNNING ou SUSPENDED).

  • REASON_CODE (TEXT): especifica o código do motivo pelo qual a tabela dinâmica não está em execução.

  • REASON_MESSAGE (TEXT): descrição de texto do motivo pelo qual a tabela dinâmica não está em execução. Aplica-se somente se a tabela dinâmica não estiver no estado RUNNING.

  • SUSPENDED_ON (TIMESTAMP_LTZ): carimbo de data/hora quando a tabela dinâmica foi suspensa. Aplica-se somente se a tabela dinâmica estiver no estado SUSPENDED.

  • RESUMED_ON (TIMESTAMP_LTZ): carimbo de data/hora quando a tabela dinâmica foi retomada pela última vez. Aplica-se somente se a tabela dinâmica estiver no estado RUNNING.

MEAN_LAG_SEC

NUMBER

O tempo médio de atraso (em segundos) das atualizações desta tabela dinâmica.

MAXIMUM_LAG_SEC

NUMBER

O tempo máximo de atraso em segundos de atualizações para esta tabela dinâmica.

TIME_ABOVE_TARGET_LAG_SEC

NUMBER

O tempo em segundos no período de retenção ou desde a última alteração de configuração, quando o atraso real foi maior que o atraso alvo definido.

TIME_WITHIN_TARGET_LAG_RATIO

NUMBER

A proporção de tempo no período de retenção ou desde a última alteração de configuração, quando o atraso real está dentro do atraso alvo.

LATEST_DATA_TIMESTAMP

TIMESTAMP_LTZ

Carimbo de data/hora da última atualização bem-sucedida.

LAST_COMPLETED_REFRESH_STATE

TEXT

Status da última atualização encerrada da tabela dinâmica. Isso pode ser o seguinte:

  • SUCCEEDED: atualização concluída com sucesso.

  • FAILED: atualização falhou durante a execução.

  • UPSTREAM_FAILED: atualização não realizada devido a uma falha na atualização upstream.

  • CANCELLED: atualização foi cancelada antes da execução.

LAST_COMPLETED_REFRESH_STATE_CODE

TEXT

Código que representa o estado atual da atualização.

Se o LAST_COMPLETED_REFRESH_STATE for FAILED, esta coluna mostrará o código de erro associado à falha.

LAST_COMPLETED_REFRESH_STATE_MESSAGE

TEXT

Descrição do estado atual da atualização.

Se o LAST_COMPLETED_REFRESH_STATE for FAILED, esta coluna mostra a mensagem de erro associada à falha.

EXECUTING_REFRESH_QUERY

TEXT

Se presente, isso representa o ID de consulta do trabalho de atualização. Se nulo, não há nenhuma tarefa de atualização em andamento.

Notas de uso

  • Ao chamar uma função de tabela do Information Schema, a sessão deve ter um esquema INFORMATION_SCHEMA em uso ou o nome da função deve ser totalmente qualificado. Para obter mais detalhes, consulte Snowflake Information Schema.

Exemplos

Recupere os nomes, informações de atraso e carimbos de data/hora dos dados da última atualização bem-sucedida para todas as tabelas dinâmicas conectadas à tabela dinâmica especificada.

SELECT
  name,
  target_lag_sec,
  mean_lag_sec,
  latest_data_timestamp
FROM
  TABLE (
    INFORMATION_SCHEMA.DYNAMIC_TABLES (
      NAME => 'mydb.myschema.mydt',
      INCLUDE_CONNECTED => TRUE
    )
  )
ORDER BY
  target_lag_sec
Copy