更新时间:2026-02-06 GMT+08:00
分享

DROP MATERIALIZED VIEW

功能描述

删除数据库中已有的物化视图。

注意事项

物化视图的所有者、物化视图所在模式的所有者、被授予了物化视图DROP权限的用户或拥有DROP ANY TABLE权限的用户可以执行该操作,系统管理员默认拥有此权限。

语法格式

DROP MATERIALIZED VIEW [ IF EXISTS ] mv_name [, ...] [ CASCADE | RESTRICT ];

参数说明

  • IF EXISTS

    判断指定的物化视图是否存在。

    • 如果指定的物化视图存在,则删除成功。
    • 如果指定的物化视图不存在,不会进行删除操作,仅产生一个NOTICE提示,用于告知指定的物化视图不存在。
  • mv_name

    要删除的物化视图名称。

  • CASCADE | RESTRICT
    可选,是否级联删除依赖于该物化视图的对象。未指定时,默认为RESTRICT。
    • CASCADE:级联删除依赖此物化视图的对象。
    • RESTRICT:如果存在依赖此物化视图的对象,则拒绝删除此物化视图。

示例

--创建表。
gaussdb=# CREATE TABLE my_table (c1 int, c2 int)
WITH(STORAGE_TYPE=ASTORE);

--创建名为my_mv的物化视图。
gaussdb=# CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM my_table;

--删除名为my_mv的物化视图。
gaussdb=# DROP MATERIALIZED VIEW my_mv;

--删除表。
gaussdb=# DROP TABLE my_table;

相关文档