《oracle数据库》视图

 发布日期:2019-03-22 06:34:29  阅读次数:阅读数:58  来源:

视图

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

一、 CREATE VIEW(创建视图)

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

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

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

DESCRIBE		视图名

可查询视图。

SELECT	*
FROM	视图名;

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

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

CREATE	OR	REPLACE	VIEW	视图名
(列的别名,列的别名,列的别名...)
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 错误。

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

四、 删除视图

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

DROP	VIEW	视图名;
如果您有好的新闻与建议,欢迎点击文章投稿

    发表评论

    电子邮件地址不会被公开。

  • 内容

  • 网名