视图

视图是从一个或几个基本表(或视图)导出的表.它与基本表不同,是一个虚表.数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.所以基本表中的数据发生变化,从视图中查询处的数据也就随之改变了. 

1定义视图

CREATE VIEW 视图名(列名1,列名2,...)

AS 子查询

WITH CHECK OPTION 

其中子查询可以是任意复杂的SELECT语句,但通常不允许含有ORDER BY 子句和DISTINCT短语

 WITH CHECK OPTION表示对视图进行UPDATE INSERT DELETE操作时要保证更新插入删除行满足视图定义中的谓词条件(即子查询中的条件表达式)即在以后对视图进行修改和插入操作时仍需保证该视图还必须满足子查询中的条件表达式

组成视图的属性列名或者全部指定或者全部省略,没有第三种选择.如果省略了视图的各个属性列名,则隐含该视图由子查询中SELECT子句 目标列中的诸字段组成.但下列三种情况下必须指定组成视图的所有列名:

(1):某个目标列不是单纯的属性名,而是聚簇函数或列表达式

(2):多表连接时选出了几个同名列作为视图的字段

(3):需要在视图中为某个列启用新的更合适的名字

 

2 删除视图 DROP VIEW 视图名 CASCADE

视图删除后视图的定义将从数据字典中删除.如果该视图上还导出了其他视图,则使用CASCADE及联删除语句,把该视图和由它导出的所有视图一起删除

posted @ 2012-06-29 17:54  星期八兜兜  阅读(183)  评论(0编辑  收藏  举报