跳到主要内容

ALTER MATERIALIZED VIEW

描述

该语句用来修改物化视图属性。

权限要求

执行 ALTER MATERIALIZED VIEW 语句,需要当前用户拥有待操作对象的 ALTER 权限。有关 seekdb 权限的详细介绍,参见 seekdb 的权限分类

语法

ALTER MATERIALIZED VIEW [database.]view_name alter_mview_action_list;

alter_mview_action_list:
alter_mview_action [, alter_mview_action ...]

alter_mview_action:
parallel_clause
| REFRESH [nested_refresh_option] [[START WITH expr] [NEXT expr]]

parallel_clause:
NOPARALLEL
| PARALLEL integer

nested_refresh_option:
INDIVIDUAL
| INCONSISTENT
| CONSISTENT

参数说明

参数描述
database.可选项,指定物化视图所在的数据库。如果省略 database.,则默认物化视图在当前会话连接的数据库中。
view_name指定待修改的物化视图的名称。
可以通过 RENAME TABLE 命令对物化视图进行重命名。
alter_mview_action_list表示可以对物化视图执行修改的操作列表。可以同时指定多个操作,使用英文逗号(,)分隔。详细介绍可参见下文 alter_mview_action

alter_mview_action

  • parallel_clause:用于修改物化视图的刷新并行度。取值如下:

    • NOPARALLEL:默认配置,并行度为 1。
    • PARALLEL integer:指定并行度,integer 取值为大于等于 1 的整数。

    示例如下:

    ALTER MATERIALIZED VIEW mv1 PARALLEL 5;
  • REFRESH [nested_refresh_option] [[START WITH expr] [NEXT expr]]:用于修改嵌套物化视图刷新策略或物化视图的后台刷新任务的时间周期。

    • nested_refresh_option:可选项,表示嵌套物化视图的刷新策略。

      • INDIVIDUAL:默认值,表示独立刷新。
      • INCONSISTENT:表示级联非一致性刷。
      • CONSISTENT:表示级联一致性刷新。

      示例如下:

      ALTER MATERIALIZED VIEW mv1 REFRESH INDIVIDUAL;
      ALTER MATERIALIZED VIEW mv1 REFRESH INCONSISTENT;
      ALTER MATERIALIZED VIEW mv1 REFRESH CONSISTENT;
    • [START WITH expr]:可选项,表示刷新计划开始的时间表达式。

    • [NEXT expr]:可选项,表示下一次刷新的时间表达式。

      提示
      • 如果使用了 NEXT 子句,刷新计划的时间表达式必须设定在未来的时间点,否则会引发错误。
      • 如果期望物化视图周期性自动调度刷新任务,请通过定义 NEXT 来设置调度周期。

    建议使用 sysdate() 表示当前时区时间,时间表达式示例如下:

    START WITH sysdate() NEXT sysdate() + INTERVAL 1 DAY

    上述子句表示从当前时间(sysdate())开始,每隔 1 天刷新一次物化视图。

    示例如下:

    ALTER MATERIALIZED VIEW mv1
    REFRESH START WITH sysdate();
    ALTER MATERIALIZED VIEW mv1
    REFRESH NEXT sysdate() + INTERVAL 1 DAY;
    ALTER MATERIALIZED VIEW mv1
    REFRESH START WITH sysdate() NEXT sysdate() + INTERVAL 1 DAY;

相关文档