Oracle 视图 的应用


视图 
 
视图是数据库中 特有的对象。 视图用于存储查询, 但不会存储数据(物化视图除外)。这是视图和数据表的重要区别。 可以利用视图进行查询、插入、更新和删除数据。 
 
Oracle 中 有4 中视图: 
 
1. 关系视图 
2. 内嵌视图 
3. 对象视图 
4. 物化视图 
 
 
-- 关系视图 : 关系视图 是 四种视图中最简单, 同时也是最常用的视图。 我们可以将关系视图看作对简单或复杂的查询的定义。 它的输出可以看作一个虚拟的表, 该表的数据是由其他基础数据表提供的。  
 由于关系视图并不存储真实的数据, 因此占用数据库资源也较少。  
  
--先观察一下 源数据表 t_employees   

  1. SQL> select * from t_employees;  
  2.   
  3. EMPLOYEE_ID EMPLOYEE_NAME   EMPLOYEE_SEX    EMPLOYEE_SALARY STATUS     WORK_YEARS FIRST_NAME      LAST_NAME  PROVINCE   CITY       LOCATION  
  4. ----------- --------------- --------------- --------------- ---------- ---------- --------------- ---------- ---------- ---------- ----------------------------   
  5.         107                                                 NEW                 1 小郭            东方       北京       北京市     朝阳区  
  6.         101 zhangSan        男                         6000 ACT                 3 三              张         北京       北京市     朝阳区  
  7.         102 liSi            男                         5500 CNN                 2 四              李         河北       秦皇岛     海港区  
  8.         103 songyanjun      男                         2000 EN                  1 延军            宋         河北       秦皇岛     海港区  
  9.         104 wangpeng        男                         2000 ACT                 1 朋              网         河北       秦皇岛     海港区  
  10.         105 hanjipeng       男                         2000 ACT                 1 鹏              韩         河北       福宁       海港区  
  11.         106 liangmingy      女                         2000 NEW                 1 雨              量         河北       福宁       海港区  
  12.         108 wangErMaZi      男                          123 jjj                 3 而马子          王         廊坊       廊坊       不明  
  13.   
  14. 已选择8行。  
  15.   
  16.   
  17.   
  18.    
  19. -- 建立关系视图:   
  20.   
  21. --1. 建立关系视图 create view vw_employees as select employee_id, last_name || first_name as employee_name, province || '-' || city as location from employees   
  22. SQL> create view vw_employees as select employee_id, last_name || first_name as employee_name, province || '-' || city as location from t_employees;  
  23.   
  24. 视图已创建。  
  25.   
  26.   
  27.   
  28. --2. 查看视图定义 select text from user_views where view_name='VW_EMPLOYEES';   
  29. SQL> select text from user_views where view_name='VW_EMPLOYEES';  
  30.   
  31. TEXT  
  32. --------------------------------------------------------------------------------   
  33. select employee_id, last_name || first_name as employee_name, province || '-' ||  
  34.   
  35.   
  36.   
  37. --3. 查询刚创建的视图   
  38. SQL> select * from vw_employees;  
  39.   
  40. EMPLOYEE_ID EMPLOYEE_NAME             LOCATION  
  41. ----------- ------------------------- ---------------------   
  42.         107 东方小郭                  北京-北京市  
  43.         101 张三                      北京-北京市  
  44.         102 李四                      河北-秦皇岛  
  45.         103 宋延军                    河北-秦皇岛  
  46.         104 网朋                      河北-秦皇岛  
  47.         105 韩鹏                      河北-福宁  
  48.         106 量雨                      河北-福宁  
  49.         108 王而马子                  廊坊-廊坊  
  50.   
  51. 已选择8行。   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 下一页

相关内容