Поделиться через


ALTER MATERIALIZED VIEW

Область применения:галочка установлена на Databricks SQL

Изменяет метаданные, связанные с представлением.

Позволяет выполнить одно из следующих действий:

  • Добавьте расписание обновления существующего материализованного представления.
  • Измените существующее расписание обновления для материализованного представления.
  • Отмените расписание периодического обновления для материализованного представления. Если расписание удалено, объект необходимо обновить вручную, чтобы отразить последние данные.

Чтобы добавить или изменить комментарий к представлению или его столбцам, используйте COMMENT ON.

Синтаксис

ALTER MATERIALIZED VIEW view_name
  { schedule |
    ALTER COLUMN clause |
    SET ROW FILTER clause |
    DROP ROW FILTER |
    SET TAGS clause |
    UNSET TAGS clause }

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 ] }

Параметры

  • SCHEDULE [ REFRESH ] schedule_clause

    Позволяет добавить или изменить расписание материализованного представления.

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

      Чтобы запланировать периодические обновления, используйте синтаксис EVERY. Если указан синтаксис EVERY, то потоковая таблица или материализованное представление периодически обновляется с заданным интервалом на основе указанного значения, например HOUR, HOURS, DAY, DAYS, WEEKили WEEKS. В следующей таблице перечислены принятые целые значения для number.

      Единица времени Целочисленное значение
      HOUR or HOURS 1 <= H <= 72
      DAY or DAYS 1 <= D <= 31
      WEEK or WEEKS 1 <= W <= 8

      Примечание.

      Единственное и множественное число включенной единицы времени семантически эквивалентны.

    • CRON cron_string [ AT TIME ZONE timezone_id ]

      Чтобы запланировать обновление с использованием значения quartz cron . Принимаются допустимые значения time_zone_values. Функция AT TIME ZONE LOCAL не поддерживается.

      Если AT TIME ZONE нет, используется часовой пояс сеанса. Если AT TIME ZONE отсутствует, а часовой пояс сеанса не задан, возникает ошибка. SCHEDULE семантически эквивалентен SCHEDULE REFRESH.

  • ИЗМЕНИТЬ COLUMN

    Это важно

    Эта функция доступна в общедоступной предварительной версии.

    Изменяет свойство столбца.

  • пункт SETROW FILTER

    Это важно

    Эта функция доступна в общедоступной предварительной версии.

    Добавляет функцию фильтра строк в материализованное представление. Все последующие запросы к материализованному представлению получают подмножество строк, где функция принимает логическое значение TRUE. Это может быть полезно для точного контроля доступа, где функция может проверить удостоверение или членство в группах вызывающего пользователя, чтобы определить, следует ли фильтровать определенные строки.

  • DROP ROW FILTER

    Это важно

    Эта функция доступна в общедоступной предварительной версии.

    Удаляет фильтр строк из материализованного представления, если таковой имеется. Будущие запросы возвращают все строки из таблицы без автоматической фильтрации.

  • SET TAGS ( { tag_name = tag_value } [, ...] )

    Это важно

    Эта функция доступна в общедоступной предварительной версии.

    Примените теги к материализованному представлению. Необходимо иметь APPLY TAG разрешение на добавление тегов в материализованное представление.

    • tag_name

      Литерал STRING. tag_name должен быть уникальным в рамках материализованного представления или столбца.

    • tag_value

      Литерал STRING.

  • UNSET TAGS ( tag_name [, ...] )

    Это важно

    Эта функция доступна в общедоступной предварительной версии.

    Удалите теги из материализованного представления. Необходимо иметь APPLY TAG разрешение на удаление тегов из материализованного представления.

    • tag_name

      Литерал STRING. tag_name должен быть уникальным внутри материализованного представления или столбца.

Примеры

  -- 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 two hours for a materialized view
  > ALTER MATERIALIZED VIEW my_mv
      ALTER SCHEDULE EVERY 2 HOURS;

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