共用方式為


ALTER MATERIALIZED VIEW

適用於:核取記號為「是」 Databricks SQL

改變與檢視相關聯的元數據。

可讓您執行下列任何動作:

  • 新增重新整理現有具體化檢視的排程。
  • 改變具體化檢視的現有重新整理排程。
  • 卸除具體化檢視的重新整理排程。 如果卸除排程,則必須手動重新整理物件,以反映最新的數據。

若要在檢視或其資料行上加入或改變批注,請使用 COMMENT ON

語法

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

參數

  • SCHEDULE [ REFRESH ] schedule_clause

    可讓您在具體化檢視的排程中加入或改變排程。

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

      重要

      這項功能處於公開預覽狀態

      若要排程定期發生的重新整理,請使用 EVERY 語法。 如果 EVERY 指定語法,則資料串流資料表或具體化檢視會根據所提供的值定期重新整理指定的間隔,例如 HOURHOURSDAYDAYSWEEKWEEKS。 下表列出 接受的 number整數值。

      Time unit 整數值
      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 ]

      使用晶體 cron 值來排程重新整理。 接受有效的 time_zone_values 。 不支援 AT TIME ZONE LOCAL

      如果 AT TIME ZONE 不存在,則會使用工作階段時區。 如果 AT TIME ZONE 不存在且未設定工作階段時區,則會擲回錯誤。 SCHEDULE 在語意上相當於 SCHEDULE REFRESH

範例


  -- 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;