视图Update Delete

 视图:
    视图是一种虚表,建立在已有表的基础上,视图赖以建立的这些表称为基表向视图提供数据内容的语句为select语句,可以将视图理解为存储起来的select语句.视图向用户提供基表数据的另一种表现形式
    使用视图的原因:
    控制数据访问
    简化查询
    避免重复访问相同的数据
    创建视图
    create [or replace] [force|noforce] view viewName[(alias[,alias]...)]
    as subquery
    [with check option[constraint constraintName]]
    [ with read only[constraint constraintName]];
    例子:
    create view emp_view
    as select * from employees;
    修改视图
    使用create or replace view子句修改视图
    create or replace view empvu80
    (id_number,name,sal,department_id)
    as select employeee_id,first_name||''||last_name, salary,department_id
    from employees
    where department_id=80;
    create view子句中各列的别名应和子查询中的各列相对应
    视图中使用DML规定
    可以在简单视图中执行DML操作
    当试图定义中包含以下元素之一时不能使用delete
    组函数
    group by子句
    distinct关键字
    rownum伪列
    当视图定义中包含以下原书之一时不能使用update:
    组函数
    group by子句
    distinct关键字
    rownum伪列
    列的定义为表达式
    当视图定义中包含以下元素之一时不能使用insert:
    组函数
    group by子句
    distinct关键字
    rownum伪列
    列的定义为表达式
    表中非空的列在视图定义中未包括\
    屏蔽DML操作
    使用with read only选项屏蔽对视图的DML操作
    任何DML操作都会返回一个Oracle server错误
    例子
    create or replace view empvu10
    ( employee_number,employee_name,job_title)
    as se;ect employee_id,last_name,job_id
    from employees
    where department_id=10
    with read only;
    删除视图
    删除视图只是删除视图的定义,并不会删除基表的数据
    drop view viewName;
    top-N分析
    Top-N分析查询一个列中最大或最小的n个值,最大和最小的值的集合是Top-N分析所关心的
    查询最大的几个值的Top-N分析:
    select[column_list], rownum
    from (select[column_list]
    from table
    order by Top-N_column)
    where rownum<=n;
    例如:查询工资最高的三名员工:
    select rownum as rank, last_name,salary
    from (select last_name,salary,from employees
    order by salary desc)
    where rownum<=3;
  ---------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值