--视图的语法
create [ or replace ] [NO Force | Force] View
schema.view_name--视图名称
[(alias,...)inline_constraint(s)]--视图的字段别名或内联约束
[out_of_line_constraint(s)]--也是视图的约束
as
subquery--视图的查询语句
[With {Read Only | Check Option [Constraint constraint_name]}]--视图的约束 --关键字No Force和Force
No Force :表示不强制创建视图。也是默认项。
Force :表示强制创建视图,也就是如果查询的表不存在,也可以创建该视图。但视图创建后在创建视图引用的源表,这样视图才有意义。
--关键字 With Read Only 和 With Check Option
With Read Only :是视图的约束关键字,表示视图只读。不可以更改视图数据。默认情况是可以更改视图数据的。
With Check Option :是视图的约束关键字,表示视图在更改数据时,必须满足视图查询源表语句where 关键字后的条件。 --视图介绍:其实视图也是虚表,但视图拥有表一样的特性,可以更改数据信息,添加约束信息。
--就是视图可以使用Insert、Update、Delete关键字操纵视图数据。也可以给视图添加Primary Key(主键)、Foreign Key(外键)、Uniqen(唯一)、Check(检查)的约束。
--无论是修改视图数据或修改视图的约束都跟修改表的格式相同。
--实例
Alter view view_name
Add pk_view_name
Primary key (view_name.column_name); --具体将就With Check Option关键字的含义
create view Force View_Test
as
select id,Name,Age from table_name
where id>10
With Check Option; --表示视图View_Test如果在使用Insert、Update、Delete语句时必须满足Id>10这个条件。 --这里具体讲解下创建带列的视图,这样的视图虽然不常用,还是了解下吧
create Or replace view View_test1
(
id,
name constraint name_unq unique Rely disable novalidate,
Address,
Remark,
constraint pk_view_test_id primary key (id) rely disable novalidate
)
as
select id,name,Address,Remark from Table_name1
where id>20
with check option;
--constraint name_unq unique Rely disable novalidate
采用inline方式对列创建unique约束
--constraint pk_view_test_id primary key (id) rely disable novalidate
采用out_of_line方式为视图View_test1设置主键约束。
--Rely disable novalidate
关键字表示约束对此前和此后的数据都不进行检查。也就是个失效关键字

Oracle视图的使用的更多相关文章

  1. Oracle视图分类及各种操作讲解(超级好文)

    目录:一.视图的定义: 二.视图的作用: 三.创建视图: 1.权限 2.语法 3.1  创建简单视图   3.2  创建连接视图  3.2.1 连接视图定义  3.2.2 创建连接视图  3.2.3 ...

  2. Oracle -----视图

    视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表.视图是存储在数据字典里的一条select语句. 通过创建视图可以提取数 ...

  3. Oracle视图详解

    转载自:http://blog.itpub.net/29785807/viewspace-1270120/ 一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本 ...

  4. oracle视图总结

    视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表.视图是存储在数据字典里的一条select语句. 通过创建视图可以提取数 ...

  5. oracle视图总结(转)

    视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表.视图是存储在数据字典里的一条select语句. 通过创建视图可以提取数 ...

  6. ORACLE 视图的 with check option

    ORACLE 视图的 with check option 我们来看下面的例子: create or replace view testview as select empno,ename from e ...

  7. ORACLE视图添加备注

    ORACLE视图添加备注 版权声明:本文为博主原创文章,未经博主允许不得转载. create or replace view oes_material_series_ref as select t.p ...

  8. Oracle 视图 (待更新, 缓存)

    参考: 视图.索引.存储过程优缺点: http://www.cnblogs.com/SanMaoSpace/p/3147059.html oracle视图总结(转):http://tianwei013 ...

  9. Oracle视图(和Mysq一样l)

    本章内容: Oracle视图介绍与创建.Oracle视图的查询与修改.Oracle的复杂视图 1. Oracle视图介绍与创建 (1)了解常见的数据库对象都有哪些 (2)了解什么是视图以及为什么要使用 ...

  10. (转)oracle视图详解

    Oracle视图详解   一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的.视图只有逻辑定义.每次使用的时候,只是重新执 ...

随机推荐

  1. 怎样在OpenStack上安装Ubuntu系统

    转载请注明出处,否则将追究法律责任http://blog.csdn.net/xingjiarong/article/details/47011893 OpenStack是一个Iaas即基础即服务的云架 ...

  2. 常用PhpStorm 快捷键

    函数列表 打开某一个源码文件后,保证鼠标焦点在源文件内,按键盘组合键: alt + 7 返回原文件导航:双击最上面的工程名即可 PhpStorm折叠文件内所有函数 按下快捷`Ctrl`+`Shift` ...

  3. python 线程安全

    http://www.cnblogs.com/monsteryang/p/6592385.html

  4. iOS中 HTTP/Socket/TCP/IP通信协议具体解释 韩俊强的博客

    简介: // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 // 3. 会话层 // 4. 传输层 // 5. 网络层 // 6. 数据链接层 / ...

  5. JQuery+Json 省市区三级联动

    一.画面以及JS <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content=&qu ...

  6. Mark指针的指针(**)和链表使用(*&)

    利用二级指针删除单向链表 彻底理解链表中为何使用指针的指针或者指针的引用 详解C++指针的指针和指针的引用

  7. Jmeter+Ant+Jenkins接口自动化测试框架搭建

    前言 软件开发的V模型大家都不陌生,其中测试阶段分为单元测试→功能测试→系统测试→验收测试.其中单元测试一般由开发同学们自己完成,大部分测试具体实施(这里不包括用例设计)是从单体功能测试开始着手的. ...

  8. spring web app的结构

    1 入口是web.xml tomcat加载war的时候会去读该入库文件. 2 web.xml中spring mvc的配置 定义servlet到servlet-mapping之间的映射,org.spri ...

  9. iOS和Android后台机制对比

    转自:http://blog.csdn.net/zsch591488385/article/details/27232881 一.iOS的“伪后台”程序 首先,先了解一下ios 中所谓的「后台进程」到 ...

  10. 【学员管理系统】0x04 数据库连接优化

    [学员管理系统]0x04  pymysql数据库连接优化 写在前面 项目详细需求参见:Django项目之[学员管理系统] 优化实现 把操作封装成函数 我们之前使用pymysql操作数据库的操作都是写死 ...