第四十一章 SQL命令 DROP VIEW
文章目录
- 第四十一章 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 VIEW
或DROP 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相关推荐
- 第三十九章 SQL命令 DROP TRIGGER
文章目录 第三十九章 SQL命令 DROP TRIGGER 大纲 参数 描述 FROM 子句 示例 第三十九章 SQL命令 DROP TRIGGER 删除触发器 大纲 DROP TRIGGER nam ...
- 第六章 SQL命令 CREATE INDEX(一)
文章目录 第六章 SQL命令 CREATE INDEX(一) 大纲 参数 描述 权限与锁 仅支持兼容性选项 索引名称 现有索引 表明 字段名称 嵌入对象中的字段(`%SerialObject`) 索引 ...
- 第十四章 SQL命令 CREATE TABLE(一)
文章目录 第十四章 SQL命令 CREATE TABLE(一) 大纲 参数 描述 语法概述 SQL安全和权限 表名 表存在 第十四章 SQL命令 CREATE TABLE(一) 创建表 大纲 CREA ...
- 第三章 SQL命令 ALTER USER
文章目录 第三章 SQL命令 ALTER USER 大纲 参数 描述 权限 示例 第三章 SQL命令 ALTER USER 修改用户密码. 大纲 ALTER USER user-name IDENTI ...
- 第二十二章 SQL命令 CREATE TRIGGER(二)
文章目录 第二十二章 SQL命令 CREATE TRIGGER(二) SQL触发器代码 ObjectScript触发代码 字段引用和伪字段引用 引用流属性 引用SQLComputed属性 标签 方法调 ...
- 第四十七章 SQL命令 GRANT(一)
文章目录 第四十七章 SQL命令 GRANT(一) 大纲 参数 描述 GRANT admin-privilege GRANT role GRANT object-privilege 对象所有者权限 第 ...
- 第五十六章 SQL命令 INSERT OR UPDATE
文章目录 第五十六章 SQL命令 INSERT OR UPDATE 大纲 参数 描述 权限 IDKEY字段 计数器字段 Identity和RowID字段 示例 第五十六章 SQL命令 INSERT O ...
- 第七十六章 SQL命令 TOP
文章目录 第七十六章 SQL命令 TOP 大纲 参数 描述 TOP int值 TOP和缓存查询 TOP和ORDER BY TOP 优化 TOP与聚合和函数 示例 第七十六章 SQL命令 TOP 指定返 ...
- 第十三章 SQL命令 CREATE ROLE
文章目录 第十三章 SQL命令 CREATE ROLE 大纲 参数 描述 权限 示例 第十三章 SQL命令 CREATE ROLE 创建角色 大纲 CREATE ROLE role-name 参数 r ...
- 第二十一章 SQL命令 CREATE TRIGGER(一)
文章目录 第二十一章 SQL命令 CREATE TRIGGER(一) 大纲 参数 描述 权限和锁 定义触发器的其他方式 参数 trigname event ORDER REFERENCING acti ...
最新文章
- 转---svn的使用
- 【C++ 语言】容器 ( queue 队列 | stack 栈 | priority_queue 优先级队列 | set 集合 | 容器遍历 | map )
- 计算机与英语专业结合的案例,文科生可以申请加拿大计算机专业吗?让这个真实案例给你肯定的答案!...
- 怎么使用jstack精确找到异常代码
- [Leetcode][第696题][JAVA][计算二进制子串][分组]
- php 扩展 suhosin 配置不当引发的报错及其解决方法
- 打印字符(信息学奥赛一本通-T1021)
- Magento 获取当前店铺信息(首页,类别,地址等)
- 逻辑回归优点_逻辑回归:优点
- iwconfig的使用
- 软件工程-软件小组的组织形式
- python中列表的嵌套是指列表的元素是另一个列表_Python实现嵌套列表去重方法示例...
- windows 互斥量内核对象 Mutex
- 全国计算机软考程序员考试大纲(2012)
- linux的dlan脚本,Linux下的DLNA播放器源码
- ps盖印图层在哪里_ps盖印图层快捷键怎么用? ps盖印图层教程
- 如何为NFT熊市做准备
- 嵌入式人工智能唱响2020年中国嵌入式技术大会!
- Maya2014下载安装与激活
- android 城市列表
热门文章
- 单层石墨烯工业化量产科研成果及工业化量产基地落地
- 人类历史的进程vs互联网的进程
- 点击唤起电话功能和企业微信聊天窗口事件(H5)
- php获取月初月末时间戳
- 2018 ICPC 北京区域赛 I - Palindromes(规律+大数+模拟)
- python多线程模块threading学习笔记(5)之锁Lock
- bootstrap 按钮颜色 class=“btn btn-success“
- AQS——CLH队列维护方法详解
- 《上瘾:让用户养成使用习惯的四大产品逻辑》读书笔记
- 第一行代码-第二版(郭霖著)笔记(初识Android)