Oracle视图的使用
--视图的语法
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视图的使用的更多相关文章
- Oracle视图分类及各种操作讲解(超级好文)
目录:一.视图的定义: 二.视图的作用: 三.创建视图: 1.权限 2.语法 3.1 创建简单视图 3.2 创建连接视图 3.2.1 连接视图定义 3.2.2 创建连接视图 3.2.3 ...
- Oracle -----视图
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表.视图是存储在数据字典里的一条select语句. 通过创建视图可以提取数 ...
- Oracle视图详解
转载自:http://blog.itpub.net/29785807/viewspace-1270120/ 一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本 ...
- oracle视图总结
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表.视图是存储在数据字典里的一条select语句. 通过创建视图可以提取数 ...
- oracle视图总结(转)
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表.视图是存储在数据字典里的一条select语句. 通过创建视图可以提取数 ...
- ORACLE 视图的 with check option
ORACLE 视图的 with check option 我们来看下面的例子: create or replace view testview as select empno,ename from e ...
- ORACLE视图添加备注
ORACLE视图添加备注 版权声明:本文为博主原创文章,未经博主允许不得转载. create or replace view oes_material_series_ref as select t.p ...
- Oracle 视图 (待更新, 缓存)
参考: 视图.索引.存储过程优缺点: http://www.cnblogs.com/SanMaoSpace/p/3147059.html oracle视图总结(转):http://tianwei013 ...
- Oracle视图(和Mysq一样l)
本章内容: Oracle视图介绍与创建.Oracle视图的查询与修改.Oracle的复杂视图 1. Oracle视图介绍与创建 (1)了解常见的数据库对象都有哪些 (2)了解什么是视图以及为什么要使用 ...
- (转)oracle视图详解
Oracle视图详解 一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的.视图只有逻辑定义.每次使用的时候,只是重新执 ...
随机推荐
- Springboot Maven 多模块项目中 @Service跨模块引用失败的问题
子模块中引用另一个子模块中的Service, @Autowired失败. 添加了模块之间的依赖没解决. 组以后在启动类上加上 @SpringBootApplication(scanBasePackag ...
- 解密SVM系列(二):SVM的理论基础(转载)
解密SVM系列(二):SVM的理论基础 原文博主讲解地太好了 收藏下 解密SVM系列(三):SMO算法原理与实战求解 支持向量机通俗导论(理解SVM的三层境界) 上节我们探讨了关于拉格朗日乘 ...
- File类的源码学习
File类是Java中IO部分的一个类,用于表示文件或者目录的.关于File类有很多的常规操作这里就不介绍了,来看一下不常规的东西. File英文意思是文件,但是它也可以用来表示目录,文件的概念还是比 ...
- Harbor的搭建(vmware企业级docker镜像私服)
1.下载harbor,地址https://github.com/vmware/harbor2.进入harbor-master/Deploy目录,修改harbor.cfg文件,主要修改以下信息 ...
- 10 Memcached 一致性哈希分布式算法原理与实现[PHP实现]
<?php header("Content-type:text/html;charset=utf-8"); interface hash{ public function _ ...
- PHP-Manual的学习----【语言参考】----【类型】-----【对象】
Object 对象1.对象初始化要创建一个新的对象 object ,使用 new 语句实例化一个类: class foo{ function do_foo(){ echo &quo ...
- java开发知识体系
- Just a Hook(线段树)
Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- Python菜鸟之路:Python基础-生成器和迭代器、递归
一.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,知道所有的元素被访问完结束.迭代器只能往前不会后退. 1. 迭代器优点 对于无法随机访问的数据结构(比如set)而言, ...
- Difference Between ZIP and GZIP
From: http://www.differencebetween.net/technology/difference-between-zip-and-gzip/ Summary: 1. GZIP ...