《oracle数据库》视图

浅浅的花香味﹌ 2022-03-08 09:12 416阅读 0赞

视图

  1. 从表中抽出的逻辑上相关的数据集合。
  2. 视图是一种虚表。
  3. 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。
  4. 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句。
  5. 视图向用户提供基表数据的另一种表现形式。
注意:在登录oracle时需选择连接为SYSDBA。

一、 CREATE VIEW(创建视图)

在 CREATE VIEW 语句中嵌入子查询。

  1. CREATE VIEW 视图名
  2. (列的别名,列的别名,列的别名...)
  3. AS 子查询;

可通过命令窗口查看视图结构。

  1. DESCRIBE 视图名

可查询视图。

  1. SELECT *
  2. FROM 视图名;

二、 CREATE OR REPLACE VIEW(修改视图)

使用CREATE OR REPLACE VIEW 子句修改视图。
CREATE VIEW 子句中各列的别名应和子查询中各列相对应。

  1. CREATE OR REPLACE VIEW 视图名
  2. (列的别名,列的别名,列的别名...)
  3. AS 子查询

三、 视图中使用DML的规定

可以在简单视图中执行 DML 操作

(1) 当视图定义中包含以下元素之一时不能使用delete:

① 组函数
② GROUP BY 子句
③ DISTINCT 关键字
④ ROWNUM 伪列

(2) 当视图定义中包含以下元素之一时不能使用update:

① 组函数
② GROUP BY子句
③ DISTINCT 关键字
④ ROWNUM 伪列
⑤ 列的定义为表达式

(3) 当视图定义中包含以下元素之一时不能使用insert:

① 组函数
② GROUP BY 子句
③ DISTINCT 关键字
④ ROWNUM 伪列
⑤ 列的定义为表达式
⑥ 表中非空的列在视图定义中未包括

(4) WITH READ ONLY(屏蔽DML操作)

可以使用 WITH READ ONLY 选项屏蔽对视图的DML 操作。
任何 DML 操作都会返回一个Oracle server 错误。

  1. CREATE OR REPLACE VIEW 视图名
  2. (列的别名,列的别名,列的别名...)
  3. AS 子查询
  4. WITH READ ONLY;

四、 删除视图

删除视图只是删除视图的定义,并不会删除基表的数据。

  1. DROP VIEW 视图名;

发表评论

表情:
评论列表 (有 0 条评论,416人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数据库视图

    1、视图介绍 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定

    相关 数据库视图

    视图的概念 视图是一个虚拟表,从一个或多个表中导出(视图也可以从视图中导出),其内容由查询语句定义生成。从表面上看,视图和真实表一样,具有结构和数据,包含一系列带有名称的

    相关 数据库视图

    视图是逻辑上的表,是虚拟表。行和列数据均来自于查询所引用的表,而视图并不存储这些数据,只在视图被引用时动态获取并返回。 视图的优点: 1、简化操作,隐藏了表之间复杂的连接