Orcle-视图-20180918

视图、索引、序列
视图:从表中抽出的逻辑上相关的数据集合。
序列:提高有规律的数值。
索引:提高查询的效率。
视图是一种虚表。
视图建立在已有表的基础上,视图赖以建立的这些表称为基表。
向视图提供数据内容的语句为SELECT语句,存可以将视图理解为存储起来的SELECT语句。
视图向用户提供基表数据的另一种表现形式
创建视图
子查询可以是复杂的SELECT语句
create or replace view empview
as
select employee_id emp_id,last_name name,
department_name
from employees e,departments d
where e.department_id = d.department_id
创建复杂视图
CREATE VIEWdept_sum_vu
(name, minsal, maxsal, avgsal)
AS SELECTd.department_name, MIN(e.salary),
MAX(e.salary),AVG(e.salary)
FROM employees e, departments d
WHERE e.department_id= d.department_id
GROUP BY d.department_name;
视图中使用DML的规定
1.可在简单视图中执行DML操作
2.当视图定义中包含一下元素之一时不能使用delete:
(1).group by 子句
(2).distinct 关键字
(3) rownum 伪例
creater or replace view sal_view
as
select avg(salary) avg_sal from employees
group by department_id
当视图定义中包含以下元素之一时不能使用update:
(1) 组函数
(2)group by 子句
(3) distinct 关键字
(4) rownum 伪列
(5)列的定义为表达式
屏蔽DML操作:
1.可以使用WITH READ ONLY 选项屏蔽对视图的DML操作
2.任何DML操作都会返回一个Oracle server 错误
例:
CREATE OR REPLACE VIEW empvu10
(employee_number, employee_name, job_title)
AS SELECTemployee_id, last_name, job_id
FROM employees
WHERE department_id= 10
WITH READ ONLY;
删除视图:
drop view view;
drop view empvu80;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值