| 
        
           
  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 
 
  ? 
 
  原文链接 
 
 
 https://www.csdn.net/gather_2d/MtTaQgwsOTAxMC1ibG9n.html
 (编辑:南平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |