设为首页 加入收藏

TOP

Oracle学习笔记之视图
2015-11-10 12:17:21 来源: 作者: 【 】 浏览:1
Tags:Oracle 学习 笔记

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操作


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle学习笔记之高级查询 下一篇Oracle Linux 7.1 安装Oracle 12C..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: