文章目录

  • 第四十一章 SQL命令 DROP VIEW
  • 大纲
    • 参数
  • 描述
    • 权限
    • Nonexistent View
    • 其他视图引用的视图
    • 关联查询
  • 示例

第四十一章 SQL命令 DROP VIEW

删除视图

大纲

DROP VIEW view-name [CASCADE | RESTRICT]

参数

  • view-name 要删除的视图的名称。
    视图名可以是限定的(schema.viewname),也可以是非限定的(viewname)。
    非限定视图名接受默认模式名。
  • CASCADE RESTRICT - 可选-指定CASCADE关键字以删除引用view-name的任何其他视图。如果有另一个视图引用view-name,则指定RESTRITE将发出SQLCODE-321错误。默认值为限制。

描述

DROP VIEW命令删除视图,但不删除基础表或数据。

也可以使用DropView()方法调用来调用拖放视图操作:

$SYSTEM.SQL.Schema.DropView(viewname,SQLCODE,%msg)

权限

DROP VIEW命令是特权操作。在使用DROP VIEW之前,进程必须拥有指定视图的%DROP_VIEW管理权限或DELETE OBJECT权限。否则将导致SQLCODE-99错误(特权冲突)。可以通过调用%CHECKPRIV命令来确定当前用户是否具有删除权限。可以通过调用$SYSTEM.SQL.Security.CheckPrivileve()方法来确定指定用户是否具有删除权限。如果拥有适当的授予权限,则可以使用GRANT命令分配%DROP_VIEW权限。

在嵌入式SQL中,可以使用$SYSTEM.Security.Login()方法以具有适当权限的用户身份登录:

   DO $SYSTEM.Security.Login("_SYSTEM","SYS")&sql(      )

必须具有%Service_Login:Use权限才能调用$SYSTEM.Security.Login方法。

可以删除基于从部署的持久类投影的表的视图。

Nonexistent View

要确定当前命名空间中是否存在指定视图,请使用$SYSTEM.SQL.Schema.ViewExists()方法。

默认情况下,如果尝试删除不存在的视图,DROP VIEW会发出SQLCODE-30错误。要确定当前设置,请调用$SYSTEM.SQL.CurrentSettings(),它显示允许DDL删除不存在的表或视图设置。默认值为0(“否”)。这是此选项的推荐设置。如果设置为1(“Yes”),则为不存在的视图和表发出DROP VIEWDROP TABLE不会执行任何操作,也不会发出错误消息。

在管理门户、系统管理、配置、SQL和对象设置中,通过选中忽略冗余DDL语句复选框,可以在系统范围内设置此选项(以及其他类似的创建、更改和删除选项)。

其他视图引用的视图

如果试图删除其他视图在其查询中引用的视图,DROP VIEW默认情况下会发出SQLCODE-321错误。这就是限制关键字行为。

通过指定CASCADE关键字,可以成功删除其他视图在其查询中引用的视图。删除视图还会删除这些其他视图。如果 IRIS无法执行所有级联视图删除操作(例如,由于SQLCODE-300错误),则不会删除任何视图。

关联查询

删除视图会自动清除所有相关的缓存查询,并清除%SYS.PTools.StatsSQL生成的查询信息。删除视图会自动清除任何相关查询的所有SQL运行时统计信息(SQL Stat)信息。

示例

下面的嵌入式SQL示例创建名为“CityAddressBook”的视图,然后删除该视图。由于它是使用RESTRITE关键字(默认值)指定的,因此如果该视图被其他视图引用,则会发出SQLCODE-321错误:

ClassMethod DropView()
{&sql(CREATE VIEW CityAddressBook ASSELECT Name,Home_Street FROM Sample.Person WHERE Home_City='Boston')if SQLCODE=0 { w !,"视图创建" } else { w !,"创建视图错误: ",SQLCODEq } /* Use the view */n SQLCODE,%msg&sql(DROP VIEW CityAddressBook RESTRICT) if SQLCODE=0 { w !,"删除视图" } elseif SQLCODE=-30 { w !,"视图不存在",!,%msg } elseif SQLCODE=-321 { w !,"其他视图引用的视图",!,%msg } else { w !,"其他删除视图错误: ",SQLCODE,!,%msg }
}

第四十一章 SQL命令 DROP VIEW相关推荐

  1. 第三十九章 SQL命令 DROP TRIGGER

    文章目录 第三十九章 SQL命令 DROP TRIGGER 大纲 参数 描述 FROM 子句 示例 第三十九章 SQL命令 DROP TRIGGER 删除触发器 大纲 DROP TRIGGER nam ...

  2. 第六章 SQL命令 CREATE INDEX(一)

    文章目录 第六章 SQL命令 CREATE INDEX(一) 大纲 参数 描述 权限与锁 仅支持兼容性选项 索引名称 现有索引 表明 字段名称 嵌入对象中的字段(`%SerialObject`) 索引 ...

  3. 第十四章 SQL命令 CREATE TABLE(一)

    文章目录 第十四章 SQL命令 CREATE TABLE(一) 大纲 参数 描述 语法概述 SQL安全和权限 表名 表存在 第十四章 SQL命令 CREATE TABLE(一) 创建表 大纲 CREA ...

  4. 第三章 SQL命令 ALTER USER

    文章目录 第三章 SQL命令 ALTER USER 大纲 参数 描述 权限 示例 第三章 SQL命令 ALTER USER 修改用户密码. 大纲 ALTER USER user-name IDENTI ...

  5. 第二十二章 SQL命令 CREATE TRIGGER(二)

    文章目录 第二十二章 SQL命令 CREATE TRIGGER(二) SQL触发器代码 ObjectScript触发代码 字段引用和伪字段引用 引用流属性 引用SQLComputed属性 标签 方法调 ...

  6. 第四十七章 SQL命令 GRANT(一)

    文章目录 第四十七章 SQL命令 GRANT(一) 大纲 参数 描述 GRANT admin-privilege GRANT role GRANT object-privilege 对象所有者权限 第 ...

  7. 第五十六章 SQL命令 INSERT OR UPDATE

    文章目录 第五十六章 SQL命令 INSERT OR UPDATE 大纲 参数 描述 权限 IDKEY字段 计数器字段 Identity和RowID字段 示例 第五十六章 SQL命令 INSERT O ...

  8. 第七十六章 SQL命令 TOP

    文章目录 第七十六章 SQL命令 TOP 大纲 参数 描述 TOP int值 TOP和缓存查询 TOP和ORDER BY TOP 优化 TOP与聚合和函数 示例 第七十六章 SQL命令 TOP 指定返 ...

  9. 第十三章 SQL命令 CREATE ROLE

    文章目录 第十三章 SQL命令 CREATE ROLE 大纲 参数 描述 权限 示例 第十三章 SQL命令 CREATE ROLE 创建角色 大纲 CREATE ROLE role-name 参数 r ...

  10. 第二十一章 SQL命令 CREATE TRIGGER(一)

    文章目录 第二十一章 SQL命令 CREATE TRIGGER(一) 大纲 参数 描述 权限和锁 定义触发器的其他方式 参数 trigname event ORDER REFERENCING acti ...

最新文章

  1. 转---svn的使用
  2. 【C++ 语言】容器 ( queue 队列 | stack 栈 | priority_queue 优先级队列 | set 集合 | 容器遍历 | map )
  3. 计算机与英语专业结合的案例,文科生可以申请加拿大计算机专业吗?让这个真实案例给你肯定的答案!...
  4. 怎么使用jstack精确找到异常代码
  5. [Leetcode][第696题][JAVA][计算二进制子串][分组]
  6. php 扩展 suhosin 配置不当引发的报错及其解决方法
  7. 打印字符(信息学奥赛一本通-T1021)
  8. Magento 获取当前店铺信息(首页,类别,地址等)
  9. 逻辑回归优点_逻辑回归:优点
  10. iwconfig的使用
  11. 软件工程-软件小组的组织形式
  12. python中列表的嵌套是指列表的元素是另一个列表_Python实现嵌套列表去重方法示例...
  13. windows 互斥量内核对象 Mutex
  14. 全国计算机软考程序员考试大纲(2012)
  15. linux的dlan脚本,Linux下的DLNA播放器源码
  16. ps盖印图层在哪里_ps盖印图层快捷键怎么用? ps盖印图层教程
  17. 如何为NFT熊市做准备
  18. 嵌入式人工智能唱响2020年中国嵌入式技术大会!
  19. Maya2014下载安装与激活
  20. android 城市列表

热门文章

  1. 单层石墨烯工业化量产科研成果及工业化量产基地落地
  2. 人类历史的进程vs互联网的进程
  3. 点击唤起电话功能和企业微信聊天窗口事件(H5)
  4. php获取月初月末时间戳
  5. 2018 ICPC 北京区域赛 I - Palindromes(规律+大数+模拟)
  6. python多线程模块threading学习笔记(5)之锁Lock
  7. bootstrap 按钮颜色 class=“btn btn-success“
  8. AQS——CLH队列维护方法详解
  9. 《上瘾:让用户养成使用习惯的四大产品逻辑》读书笔记
  10. 第一行代码-第二版(郭霖著)笔记(初识Android)