Oracle 笔记之视图
2015-08-29 18:16
405 查看
1.什么是视图?
视图(VIEW)也被称为虚表,即虚拟的表,是一组数据的逻辑表达
视图对应于一条SELECT语句,结果集被赋予一个名字, 即视图名字
视图本身不包含任何数据,只是映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之发送变化
作用:重用代码,保护数据
2.创建视图 需要有权限 GRANT CREATE VIEW TO user scott;
CREATE VIEW view_name 别名
不包含函数 叫简单视图
包含函数 表达式 复杂视图
基于多个表 连接视图
OR REPLACE 更新视图 如果存在则替换
语法
CREATE OR REPLACE VIEW 视图名称 SELECT语句
隐藏列名称 在SELECT语句中增加别名
CREATE OR REPLACE VIEW v_emp_10 AS SELECT empno id, ename name,sal salary,deptno deptno FROM emp WHERE deptno=10;
查看视图结构 DESC 视图名称
增加别名后 只能用别名进行查询视图 SELECT 姓名,工资,工作 FROM v_emp_10;
增加 WITH CHECK OPTION 防止在简单视图模式下 插入脏数据到基表内
CREATE OR REPLACE VIEW v_emp_10 AS SELECT empno id,
ename name,sal salary,deptno deptno FROM emp WHERE deptno=10 WITH CHECK OPTION;
复杂视图的创建
CREATE VIEW v_emp_salary
AS
SELECT d.dname,
AVG(e.sal) avg_sal,
SUM(e.sal) sum_sal,
MAX(e.sal)max_sal,
MIN(e.sal) min_sal
FROM emp e JOIN dept d ON e.deptno =d.deptno GROUP BY d.dname;
复杂视图的查询
SELECT * FROM v_emp_salary;
复杂视图不允许DML操作
视图(VIEW)也被称为虚表,即虚拟的表,是一组数据的逻辑表达
视图对应于一条SELECT语句,结果集被赋予一个名字, 即视图名字
视图本身不包含任何数据,只是映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之发送变化
作用:重用代码,保护数据
2.创建视图 需要有权限 GRANT CREATE VIEW TO user scott;
CREATE VIEW view_name 别名
不包含函数 叫简单视图
包含函数 表达式 复杂视图
基于多个表 连接视图
OR REPLACE 更新视图 如果存在则替换
语法
CREATE OR REPLACE VIEW 视图名称 SELECT语句
隐藏列名称 在SELECT语句中增加别名
CREATE OR REPLACE VIEW v_emp_10 AS SELECT empno id, ename name,sal salary,deptno deptno FROM emp WHERE deptno=10;
查看视图结构 DESC 视图名称
增加别名后 只能用别名进行查询视图 SELECT 姓名,工资,工作 FROM v_emp_10;
增加 WITH CHECK OPTION 防止在简单视图模式下 插入脏数据到基表内
CREATE OR REPLACE VIEW v_emp_10 AS SELECT empno id,
ename name,sal salary,deptno deptno FROM emp WHERE deptno=10 WITH CHECK OPTION;
复杂视图的创建
CREATE VIEW v_emp_salary
AS
SELECT d.dname,
AVG(e.sal) avg_sal,
SUM(e.sal) sum_sal,
MAX(e.sal)max_sal,
MIN(e.sal) min_sal
FROM emp e JOIN dept d ON e.deptno =d.deptno GROUP BY d.dname;
复杂视图的查询
SELECT * FROM v_emp_salary;
复杂视图不允许DML操作
相关文章推荐
- 提取oralce当天的alert log的shell脚本代码
- RMAN 还原与恢复
- ODT .NET 详解之 SqlDataSource 访问 Oracle
- 通过 Reflector 工具来查看 ODP.NET 提供的类等信息
- ODP.NET 之访问 Oracle 数据库
- Oracle 中使用 ObjectDataSource 读取强类型 DataSet 数据集
- Oracle 中实现 Membership 机制
- Oracle 11g实时SQL监控 --好东西不该藏着
- Shared Pool(Conceptes)
- Oracle用户管理
- SSH开源自动生成代码工具,可自动生成action、service、form、dao、model、vo、sqlmap.xml、.hbm.xml、test等
- Oracle的锁表与解锁
- ORACLE批量绑定FORALL与BULK COLLECT
- 《收获,不止oralce》读书笔记(4)
- oracle表空间使用率统计查询
- ORACLE触发器详解
- ORACLE分析函数(4)---FIRST/LAST排名查询
- oracle分页 (转载)
- 存储过程(扫盲文章)
- ORACLE导入dmp文件记录