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;