zoukankan      html  css  js  c++  java
  • Oracle视图基础

    --表的另一种形式,看起来很像表
    --用view可以实现复杂的query====select
    
    --创建一个视图
    --当经常使用这个查询时封装成view
    /*create or replace 表示在创建视图时,如果已存在同名的视图,则重新创建,
    如果只用create 创建,则需将原有的视图删除后才能创建*/
    drop view v1;
    create view v1
    as
    select * from stud where name like '%a%';
    --直接查询view
    select * from v1;
    
    --当往stud中增加信息也会增加到viewzhong
    insert into stud(id,name) values(5,'rajk'); 
    --创建一个可以修改表的视图
    create or replace view v2(id,name)
    as
    select * from stud where name like '%a%';
    select * from v2;
    --通过视图写如数据
    insert into v2 values(6,'sssss');--视图查询是查不到的
    insert into v2 values(7,'sasss');--可以查到
    
    --包含一部分列的视图
    drop view v3;
    select * from v3;
    create or REPLACE view v3
    as 
    select id,name from stud where id<3;
    insert into v3 values(8,'dd');
    --一个只可以查询不能写入的视图
    create or replace view v4(id,name)
    as
    select id,name from stud where id>4
    WITH READ ONLY constraint v4_only;
    
    --带检查的视图
    
    create or replace view v5(id,name)
    as
    select id,name from stud where id>20
    WITH check option;
    insert into v5 values(10,'我是10号');
    --视图 WITH CHECK OPTION where 子句违规
    insert into v5 values(21,'我是21号');
    
    --来自多个视图的表
    drop view v6;
    create  or REPLACE view v6
    as
    select s.name as 学生 ,c.name as 课程
    from stud s inner join sc on s.id=sc.sid
    inner join course c on sc.cid=c.id;
    
    select * from v6;
    
    ---dba查询用户的视图
    select * from USER_VIEWS;
  • 相关阅读:
    如何构建积木式Web应用
    ASP.NET 2.0 异步页面原理浅析 [1] [原]
    HybridDictionary 类
    datagrid自定义
    认识.NET的集合
    织梦 10060
    java.io.FileNotFoundException: E:\temp (拒绝访问。)
    引用与对象实例化
    C#中为DataGrid添加下拉列表框
    C#中使用指针
  • 原文地址:https://www.cnblogs.com/xiaweifeng/p/3675527.html
Copyright © 2011-2022 走看看