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

DROP VIEW

功能描述

删除数据库中的视图。

注意事项

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

语法格式

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

参数说明

  • IF EXISTS

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

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

    要删除的视图名称。

    取值范围:已存在的视图。

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

示例

--创建test_tb1表,并向表中插入100条数据。
gaussdb=# CREATE TABLE test_tb1(col1 int, col2 int);
gaussdb=# INSERT INTO test_tb1 VALUES (generate_series(1,100),generate_series(1,100));

--创建一个col1小于3的视图。
gaussdb=# CREATE VIEW test_v1 AS SELECT * FROM test_tb1 WHERE col1 < 3;

--查看视图。
gaussdb=# SELECT * FROM test_v1;
 col1 | col2 
------+------
    1 |    1
    2 |    2
(2 rows)

--删除表和视图。
gaussdb=# DROP VIEW test_v1;
gaussdb=# DROP TABLE test_tb1;

相关链接

ALTER VIEWCREATE VIEW

相关文档