《oracle数据库》视图
视图
- 从表中抽出的逻辑上相关的数据集合。
- 视图是一种虚表。
- 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。
- 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句。
- 视图向用户提供基表数据的另一种表现形式。
注意:在登录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 视图名;
还没有评论,来说两句吧...