视图
开发工具与关键技术:Oracle
作者:吴东梅
撰写时间:2019-04-20
•视图是一种虚表。
•视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。
•向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句.(select语句后面跟的就是数据就是在查询视图时显示出来的数据)
•视图向用户提供基表数据的另一种表现形式
创建视图
•在 CREATE (OR REPLACE) VIEW 语句中嵌入子查询
•子查询可以是复杂的 SELECT 语句
第一种写法,用create View 直接创建
用create View 方法创建完命名视图名为empview基于employees e,departments d 表的视图,再用查询视图的方法查询这个视图,那么这个视图显示出来的就是子查询里面查询出来的字段。如下图:
第二种写法,如果在创建视图的时候,遇到要创建相同的视图时,不用去把原来的视图删除掉,直接用create or replace 把原来的视图替换掉,把最新的视图更新上去。用上面的截图和下图对比就会发现,视图名相同,但是下图数据已经是我最新创建的,因为我用create or replace去把原来的视图换掉了,更新了原来的数据。
但是用这种方法去创建视图会有一个很大的弊端:就是用CREATE OR REPLACE VIEW 子句去创建视图,如果你创建的视图名跟别人的是一样的,但是子查询的数据又不是一样的,这样就会造成冲突,到时候查出来的数据就不知道是谁想要的了。所以起视图名要慎重。就如上面的两个截图效果可以看出,所以一定要注意。
查询视图
SELECT *
FROM empview; --查询视图 empview 视图名
修改视图
•使用CREATE OR REPLACE VIEW 子句修改视图。
(就相当于用create or replace 这个方法去创建一个新的视图,把原来的视图替换掉.)
图一:原视图: