设为首页 加入收藏

TOP

Oracle中常见的数据库对象--视图
2014-11-24 02:28:05 来源: 作者: 【 】 浏览:0
Tags:Oracle 常见 数据库 对象 视图
Oracle中常见的 数据库对象--视图
一、视图的定义:从表中抽出的逻辑上相关的数据集合
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 empvu
AS select employee_id,last_name,salary
FROM employees
WHERE 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;
四、 删除视图
Drop view 视图名;


摘自 宋利兴的专栏
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇动态性能视图总结 下一篇Oracle物化视图定时全量刷新导致..

评论

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