数据库对象—视图:一、视图的定义:从表中抽出的逻辑上相关的数据集合a) 视图是一种虚表b) 视图建立在已有表基础上,视图依赖已建立的这些表称为基表c) 向视图提供数据内容的语句为SELECT语句,可以将视图理解为存储起来的SElECT语句d) 视图向用户提供基表数据的另一种表示形式二、为什么要使用视图a) 控制数据访问:提供了一种安全机制,通过视图显示数据时,屏蔽用户不应该知道的数据.b) 简化查询:select语句构造了一个复杂的查询语句,每次使用必须都得调用它c) 避免重复访问相同的数据三、创建视图:a) 在CREATE VIEW语句中嵌入子查询i. Create [OR REPLACE] [FORCE | NOFORCE] VIEW view [(alias [,alias]…)]AS subquerytion[with check option [CONSTRAINT constraint ]][with read only [CONSTRAINT constraint]]b) 子查询可以是复杂的SELECT语句i. CREATE VIEW empvuAS select employee_id,last_name,salaryFROM employeesWHERE department_ed=80;c) 描述视图结构:i. Describe empvu;d) 创建视图时在子查询中给列定义别名i. SQL> create view usersview as select username name,password pass from users;ii. //查询视图SQL> select * from usersview;e) 使用CREATE OR REPLACE VIEW 子句修改视图i. SQL> create or replace view usersview as(select * from users);f) 创建带有函数,groupby子句视图i. SQL> create or replace view gde as ( select deptno,count(*) cou from emp group by deptno);g) 创建连接视图 带有函数 group by子句 order by 子句i. SQL> create view gdeo as select e.deptno,count(*) cou from emp e inner join dept d on e.deptno=d.deptno group by e.deptno order by e.deptno;四、 视图中使用DML的规定a) 可以在简单视图中执行DML操作b) 当时图定义中包含以下元素之一是不能使用delete:i. 组函数ii. GROUP BY 子句iii. DISTINCT 关键字iv. ROWNUM 伪列c) 当视图定义中包含以下元素之一时不能使用update :i. 组函数ii. GROUP BY子句iii. DISTINCT 关键字iv. ROWNUM 伪列v. 列的定义为表达式d) 可以使用 WITH READ ONLY 选项屏蔽对视图的DML 操作d)任何 DML 操作都会返回一个Oracle server 错误五、 删除视图a) Drop view 视图名;Oracle数据库常见对象—索引和同义词Oracle常见数据库对象—序列相关资讯 Oracle入门教程
- 使用SQLT来构建Oracle测试用例 (08/28/2014 06:17:41)
- Oracle AUTOTRACE 统计信息 (02/18/2013 08:25:40)
- Linux Oracle服务启动&停止脚本与 (12/16/2012 14:42:37)
| - Oracle入门教程:把表和索引放在不 (07/13/2013 11:21:40)
- Oracle直接路径加载--append的深度 (02/07/2013 08:26:36)
- Oracle Connect By用法 (12/16/2012 13:36:10)
|
本文评论 查看全部评论 (0)