Compartilhar via


ALTER MATERIALIZED VIEW

Aplica-se a: marca de seleção positiva SQL do Databricks

Altera os metadados associados à exibição.

Permite que você execute qualquer uma das seguintes ações:

  • Adicione uma agenda para atualizar uma exibição materializada existente.
  • Altere um agendamento de atualização existente para uma exibição materializada.
  • Remova a agenda de atualização para uma exibição materializada. Se a agenda for descartada, o objeto precisará ser atualizado manualmente para refletir os dados mais recentes.

Sintaxe

ALTER MATERIALIZED VIEW view_name
  { schedule }

schedule
  {
    { ADD | ALTER } SCHEDULE [ REFRESH ]
      schedule_clause |
    DROP SCHEDULE
  }

  schedule_clause
    { EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } |
    CRON cron_string [ AT TIME ZONE timezone_id ] }

Parâmetros

  • AGENDAR [ ATUALIZAR ] schedule_clause

    Permite que você adicione um agendamento ou altere o agendamento de uma exibição materializada.

    • EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }

      Importante

      Esse recurso está em uma versão prévia.

      Para agendar uma atualização que ocorre periodicamente, use EVERY a sintaxe. Se EVERY a sintaxe for especificada, a tabela de streaming ou a exibição materializada será atualizada periodicamente no intervalo especificado com base no valor fornecido, como HOUR, HOURS, DAY, DAYS, , WEEKou WEEKS. A tabela a seguir lista os valores inteiros aceitos para number.

      Time unit Valor inteiro
      HOUR or HOURS <1 = H <= 72
      DAY or DAYS <1 = D <= 31
      WEEK or WEEKS <1 = W <= 8

      Observação

      As formas singular e plural da unidade de tempo incluída são semanticamente equivalentes.

    • CRON cron_string [ AT TIME ZONE timezone_id ]

      Para agendar uma atualização usando um valor cron de quartzo. São aceites time_zone_values válidas. Não há suporte para AT TIME ZONE LOCAL.

      Se AT TIME ZONE estiver ausente, o fuso horário da sessão será usado. Se AT TIME ZONE estiver ausente e o fuso horário da sessão não estiver definido, um erro será lançado. SCHEDULE é semanticamente equivalente a SCHEDULE REFRESH.

Exemplos


  -- Adds a schedule to refresh a materialized view once a day
  -- at midnight in Los Angeles
  > ALTER MATERIALIZED VIEW my_mv
      ADD SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';

  -- Alters the schedule to run every 15 minutes for a materialized view
  > ALTER MATERIALIZED VIEW my_mv
      ALTER SCHEDULE CRON '0 0/15 * * * ? *';

  -- Drops the schedule for a materialized view
  > ALTER MATERIALIZED VIEW my_mv
      DROP SCHEDULE;