暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

删除视图

SQL新手 2022-12-08
626

本文介绍如何删除视图。

语法

该语法可用于删除一个或多个视图。

说明

当前用户必须在每个视图上有 DROP 权限。

drop_view_stmt:
    DROP VIEW [IF EXISTS] view_name_list [CASCADE | RESTRICT];

view_name_list:
    view_name [, view_name_list]

参数解释

参数描述
IF EXISTS使用 IF EXISTS 关键字可以防止由于视图不存在而出错。
view_name_list如果 view_name_list 中包含一部分存在和一部分不存在的视图,执行可能报错但是存在的视图依然会被删除。
CASCADE | RESTRICTCASCADE 为级联删除,自动删除依赖此视图的对象。 RESTRICT 为约束删除,如果有依赖对象存在,则拒绝删除此视图。
说明
当前版本暂不支持此参数。如果给出,将被解析和忽略。

示例

示例 1

删除单个视图 v1

obclient> DROP VIEW v1;
Query OK, 0 rows affected

示例 2

删除多个视图 v1 和 v2

obclient> DROP VIEW IF EXISTS v1,v2;
Query OK, 0 rows affected, 1 warning

说明

  • 在不使用 IF EXISTS 的情形下,如果 v1 视图不存在数据库,v2 视图将不能被删除。

    obclient> DROP VIEW v1,v2;
    ERROR 1051 (42S02): Unknown table 'ny.v1'
    
  • 如果使用 IF EXISTS 则即使 v1 视图不存在数据库,也 v2 视图也可以被删除。

    obclient> DROP VIEW IF EXISTS v3,v4;
    Query OK, 0 rows affected, 2 warnings
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论