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
随机推荐
- 详解IE6中的position:fixed问题与随滚动条滚动的效果
- 详解CentOS设置程序开机自启动的方法
- java 中使用匿名类直接new接口详解及实例代码
- Django中处理出错页面的方法
- VMware Tools(ubuntu系统)安装图文教程
- PHP递归复制、移动目录的自定义函数分享
- PHP实现根据数组的值进行分组的方法
- 去除段首段尾的 和全角的空格的正则
- Python模块学习 datetime介绍
- 利用一个简单的例子窥探CPython内核的运行机制
- Android解析XML(PULL)展示到ListView
- PHP第三方登录—QQ登录实现方法
- 高亮闪烁某个元素的js脚本
- 删除DOS结尾符的方法
- sql 数据库还原图文教程
- JAVA实现异步调用实例代码
- 浅谈2路插入排序算法及其简单实现
- Python Flask-web表单使用详解
- HashMap vs TreeMap vs Hashtable vs LinkedHashMap
- Python3.4学习笔记之类型判断,异常处理,终止程序操作小结