oracle 下WITH CHECK OPTION用法
如果视图定义包括条件(譬如 WHERE 子句)并且其意图是确保任何引用该视图的 INSERT 或 UPDATE 语句都应用 WHERE 子句,则必须使用 WITH CHECK OPTION 定义该视图。这个选项可以确保数据库中正在修改的数据的完整性。如果在 INSERT 或 UPDATE 操作期间违反了条件,则返回 SQL 错误。
下面是一个使用了 WITH CHECK OPTION 的视图定义的示例。要确保总是检查条件,WITH CHECK OPTION 是必需的。在这种情况下,我们希望确保 DEPT 总是 10。这会限制 DEPT 列的输入值。当使用视图插入新值时,总是强制执行 WITH CHECK OPTION。
代码如下:
CREATE VIEW EMP_VIEW2
(EMPNO,EMPNAME,DEPTNO,JOBTITLE,HIREDATE)
AS SELECT ID,NAME,DEPT,JOB,HIREDATE FROM EMPLOYEE
WHERE DEPT=10
WITH CHECK OPTION;
如果这个子句不存在,那么某个使用该视图的用户就有可能更新某条记录,使其不再属于该视图。例如,下列 SQL 语句可能会引起一些问题。
UPDATE EMP_VIEW2 SET DEPT=20 WHERE DEPT=10;
这个语句的结果是该视图现在不包含任何记录,因为部门 10 不再有雇员了。
相关推荐
-
oracle 下WITH CHECK OPTION用法
如果视图定义包括条件(譬如 WHERE 子句)并且其意图是确保任何引用该视图的 INSERT 或 UPDATE 语句都应用 WHERE 子句,则必须使用 WITH CHECK OPTION 定义该视图.这个选项可以确保数据库中正在修改的数据的完整性.如果在 INSERT 或 UPDATE 操作期间违反了条件,则返回 SQL 错误. 下面是一个使用了 WITH CHECK OPTION 的视图定义的示例.要确保总是检查条件,WITH CHECK OPTION 是必需的.在这种情况下,我们希望确保
-
mysql视图之确保视图的一致性(with check option)操作详解
本文实例讲述了mysql视图之确保视图的一致性(with check option)操作.分享给大家供大家参考,具体如下: 我们有的时候,会创建一个视图来显示表的部分数据.我们知道,简单视图是的,因此可以更新通过视图不可见的数据,但是此更新会使的视图不一致.为了确保视图的一致性,在创建或修改视图时使用WITH CHECK OPTION可更新子句.我们来看下WITH CHECK OPTION可更新子句的语法结构: CREATE OR REPLACE VIEW view_name AS select
-
Oracle中游标Cursor基本用法详解
查询 SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT语句时,要与INTO子句一起使用,查询的 返回值被赋予INTO子句中的变量,变量的声明是在DELCARE中.SELECT INTO语法如下: SELECT [DISTICT|ALL]{*|column[,column,...]} INTO (variable[,variable,...] |record) FROM {table|(sub-query)}[alias] WHERE............ PL/SQL
-
jQuery多级联动下拉插件chained用法示例
本文实例讲述了jQuery多级联动下拉插件chained用法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
-
Oracle 中Contains 函数的用法
1. 查询住址在北京的学生 SELECT student_id,student_name FROM students WHERE CONTAINS( address, 'beijing' ) remark: beijing是一个单词,要用单引号括起来. 2. 查询住址在河北省的学生 SELECT student_id,student_nameFROM students WHERE CONTAINS( address, '"HEIBEI province"' ) remark: HEBE
-
详解linux下tree命令的用法
tree命令,主要功能是创建文件列表,将所有文件以树的形式列出来 linux下的tree就比较强大了,但一般系统并不自带这个命令,需要手动下载安装, 安装 : yum -y install tree -a 显示所有文件和目录. -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合. -C 在文件和目录清单加上色彩,便于区分各种类型. -d 显示目录名称而非内容. -D 列出文件或目录的更改时间. -f 在每个文件或目录之前,显示完整的相对路径名称. -F 在执行文件,目录,Socket,
-
Oracle下的Java分页功能_动力节点Java学院整理
就如平时我们很在分页中看到的,分页的时候返回的不仅包括查询的结果集(List),而且还包括总的页数(pageNum).当前第几页(pageNo)等等信息,所以我们封装一个查询结果PageModel类,代码如下: package com.bjpowernode.test; import java.util.List; public class PageModel<E> { private List<E> list; private int pageNo; private int pa
-
thinkPHP下的widget扩展用法实例分析
本文实例讲述了thinkPHP下的widget扩展用法.分享给大家供大家参考,具体如下: Widget扩展用于在页面根据需要输出不同的内容,Widget扩展的定义是在项目的Lib\Widget目录下面定义Widget类库,例如下面定义了一个用于显示最近的评论的Widget: 位于Lib\Widget\ShowCommentWidget.class.php Widget类库需要继承Widget类,并且必须定义render方法实现,例如: render方法必须使用return返回要输出的字符串信息,
-
Mac OS X 下有关Android adb用法详解
Mac OS X 下有关Android adb用法详解 一.什么是adb? ADB的全称是Android Debug Bridge,用来调试Android程序的,白话点就是debug工具! 位置:一般下载Android的SDK时候在platform-tools中有adb程序. 二.在mac上配置adb命令环境 1. 运行命令 cd $home 进入到用户home目录 2. 创建 .bash_profile文件 :touch .bash_profile 打开文件命令: open -e .bash
-
Android编程下拉菜单spinner用法小结(附2则示例)
本文较为详细的总结分析了Android编程下拉菜单spinner用法.分享给大家供大家参考,具体如下: Spinner控件也是一种列表类型的控件,它的继承关系如下: java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.widget.AdapterView<Textends android.widget.Adapter> ↳ android.widget.A
随机推荐
- seajs学习之模块的依赖加载及模块API的导出
- CI框架AR操作(数组形式)实现插入多条sql数据的方法
- 基于jquery实现百度新闻导航菜单滑动动画
- angularjs定时任务的设置与清除示例
- Bootstrap表格和栅格分页实例详解
- Android拍照或从图库选择图片并裁剪
- C语言使用普通循环方法和递归求斐波那契序列示例代码
- Android DragVideo实现播放视频时任意拖拽的方法
- PHP实现163邮箱自动发送邮件
- JSP监听器用法分析
- Node.js的文件权限及读写flag详解
- 配置mysql允许远程连接的方法
- JS实现的添加弹出层并完成锁屏操作示例
- 用WinRAR解析木马病毒的捆绑原理
- jQuery动画_动力节点节点Java学院整理
- 一个不错的渐显菜单
- React/Redux应用使用Async/Await的方法
- mysql5.7安装及配置教程
- python+pyqt5实现24点小游戏
- bootstrap table列和表头对不齐的解决方法