什么是视图1、视图以经过定制的方式显示来自一个或多个表的数据
2、视图可以视为“虚拟表”或“存储的查询”
3、创建视图所依据的表称为“基表”
视图的优点有:
1,确保数据表的安全性和提高数据的隐蔽性
2,从一个或多个表中或其他视图中使用SELECT语句导出的虚表
3,仅存放视图的定义,而不是存放视图对应的数据,数据仍存放在基础表中,对视图中数据的操纵实际上仍是对组成视图的基础表的操纵。
4,通过使用视图,基础表中的数据能以各种不同的方式提供给用户,以加强数据库的安全性。
创建视图语法:
CREATE [OR REPLACE] [FORCE] VIEW
view_name [(alias[, alias]...)]
AS select_statement
[WITH CHECK OPTION]
[WITH READ ONLY];
示例:
CREATE VIEW stud_view
AS
SELECT studno, studname, subno FROM Stud_details;
视图上的DML语句在视图上也可以使用修改数据的DML语句,如INSERT、UPDATE和DELETE,但视图上的DML语句有如下限制:
1,只能修改一个底层的基表
2,如果修改违反了基表的约束条件,则无法更新视图
3,如果视图包含连接操作符、DISTINCT 关键字、集合操作符、聚合函数或 GROUP BY 子句,则将无法更新视图
4,如果视图包含伪列或表达式,则将无法更新视图
获取视图可更新信息dba_update_columns
all_update_columns
User_update_columns
SQL > Select column_name,updateable from
user_update_columns
where table_name='emp_dept';
管理视图更改视图
语法格式:CREATE OR REPLACE VIEW view_name AS subquery;
重命名视图
语法格式:RENAME <old_view_name > TO <new_view_name >;
删除视图
语法格式:DROP VIEW view_name;
查询视图与数据字典
ALL_VIEWS 描述当前用户可用的视图信息
USER_VIEWS 描述当前用户自己创建的视图信息
DBA_VIEWS 描述所有视图信息'