zoukankan      html  css  js  c++  java
  • oracle 创建学生选课视图

    1,视图概念:视图是一个逻辑结构,本身不包含任何数据,是一个可命名的select语句。
       透过视图可以看到底层数据,但是视图和数据是相互独立的。
    2,创建视图需要有DBA权限。
    3,语法:CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view[(alias[,alias]..)]
       AS subquery;
    4,create or replace 表示若视图存在则替换掉;
    如:
    SQL> create view testview3
      2  as 
      3  select * from test3;
    视图已创建。
     
    SQL> create view testview3
      2  as 
      3  select * from test3;
    create view testview3
                *
    第 1 行出现错误:
    ORA-00955: 名称已由现有对象使用

    修改视图:
    SQL> create or replace view testview3
      2  as
      3  select * from test3;
    视图已创建。
    5,force 表示若表不存在则强制创建视图;
    如:SQL> create view tt
      2  as
      3  select * from tt;
    create view tt
                *
    第 1 行出现错误:
    ORA-01731: 出现循环的视图定义

    SQL> create force view tt
      2  as
      3  select * from tt;
    警告: 创建的视图带有编译错误。
    6,查看视图结构:
    SQL> desc testview3;
     名称                                      是否为空? 类型
     ----------------------------------------- -------- ----------------------------
     ID                                        NOT NULL NUMBER(38)
     LNAME                                              VARCHAR2(20)
     FNAME                                              VARCHAR2(20)

    7,在使用聚合函数创建视图时,需制定别名;
    SQL> create view testview4
      2  as 
      3  select id,sum(id) from test3
      4  group by id;
    select id,sum(id) from test3
              *
    第 3 行出现错误:
    ORA-00998: 必须使用列别名命名此表达式

    SQL> create view testview4
      2  as
      3  select id,sum(id) test3_id from test3
      4  group by id;
    视图已创建。
     
    8,更新视图:
    SQL> select * from testview5;
      TEST5_ID TEST5_NAME           TEST5_FNAME
    ---------- -------------------- --------------------
             3 kong                 sales
             2 hh
    SQL> update testview5 set test5_name='kong_gai'
      2  where test5_id=3;
    已更新 1 行。
    SQL> select * from testview5;
      TEST5_ID TEST5_NAME           TEST5_FNAME
    ---------- -------------------- --------------------
             3 kong_gai             sales
             2 hh
     
    原文链接
  • 相关阅读:
    linux下好用软件全记录
    Shell之Here Document
    ThinkPHP判断更新是否成功的正确方法
    memcached单点登录配置
    gedit搭建c开发环境
    两种算法的比较,学习算法的重要性
    解决sendmail发送邮件慢的问题
    直接拿来用,10个PHP代码片段(收藏)
    Nginx 简单的负载均衡配置示例
    Nginx 虚拟主机 VirtualHost 配置
  • 原文地址:https://www.cnblogs.com/sunny3158/p/11315981.html
Copyright © 2011-2022 走看看