oracle 学习笔记 - 视图
2017-08-21 15:46
387 查看
什么是视图?
####怎么理解视图是一张虚表?1、首先视图是一张表,那么针对表的一系列操作都可以用来操作视图。(注意:不建议通过视图对表做修改操作);
2、其次视图是一张虚表,视图中是没有数据的,视图中数据来源于创建视图时的表。
####视图的作用?
视图一般用来简化复杂查询,不建议通过视图对表做修改操作。
创建视图
管理员授权
# 普通用户没有创建视图的权限,需要管理员授权 grand create view to scott;
# 创建视图 SQL> create or replace view empinfoview 2 as 3 select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname 4 from emp e, dept d 5 where e.deptno=d.deptno;
创建视图的语法:
create [or replace] [force|noforce] view viewName [(alias[,alias]...)] as subquery [with check option [constraint constraint]] [with read only [constraint constraint]]; #force: 子查询不一定存在 #notforce: 子查询存在(默认) #with read only:只能做查询操作
修改视图
视图只能创建、删除、替换。修改视图只能用replace替换replace view viewName... ... ...
删除视图
drop view viewName
视图的一些规定
使用DML的规定简单视图中可以执行DML操作
视图定义中包含以下元素之一,不能使用delete
组函数group by 字句
distinct 关键字
rowunm 伪列
视图定义中包含以下元素之一,不能使用update
组函数group by 字句
distinct 关键字
rowunm 伪列
列的定义为表达式
视图定义中包含以下元素之一,不能使用insert
组函数group by 字句
distinct 关键字
rowunm 伪列
列的定义为表达式
表中非空的列在视图定义中为包括
屏蔽DML操作
可以使用 with read only 选项来屏蔽对视图的DML操作。相关文章推荐
- java 从零开始,学习笔记之基础入门<Oracle_函数_触发器_游标_存储过程_视图>(三十五)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<Oracle_函数_触发器_游标_存储过程_视图>(三十五)
- oracle 11g 学习笔记 10_30(2)_数据字典和动态性能视图
- oracle 11g 学习笔记 10_30(2)_数据字典和动态性能视图
- Oracle 学习笔记 11 -- 视图 (VIEW)
- oracle学习笔记——视图、索引(转载)
- Oracle学习笔记之六(DDL:表、索引、视图、同义词、序列操作相关SQL)
- 【Oracle 学习笔记】Day 2 视图、序列、同义词
- Oracle数据库学习笔记之视图
- 重新整理后的Oracle OAF学习笔记——4.应用构建基础之实现视图
- oracle物化视图学习笔记
- 转:oracle物化视图学习笔记
- Oracle动态性能视图 v$sga 学习笔记
- Oracle 学习笔记 11 -- 视图 (VIEW)
- Oracle动态性能视图 v$sga 学习笔记
- Oracle 学习笔记(二)
- Oracle + SQL 学习笔记
- 学习《Oracle 9i10g编程艺术》的笔记 (一)
- 3.Oracle深度学习笔记——内存架构之PGA 概述
- ORACLE 全文索引功能实现学习笔记