视图的优点
- 实现了逻辑数据独立性
- 提高安全性
- 简化查询语句
- 屏蔽真实结构变化带来的影响
视图的缺点
-
性能差
sql server必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,sql server也要把它变成一个复杂的结合体,需要花费一定的时间。 -
修改限制
当用户试图修改试图的某些信息时,数据库必须把它转化为对基本表的某些信息的修改,对于简单的试图来说,这是很方便的,但是,对于比较复杂的试图,可能是不可修改的。
创建视图
语法:
CREATE VIEW 视图名 AS 查询语句;
例子:
创建一个显示学生学号姓名的视图
create view view_stu as select sno,sname from student;
修改视图
修改其实就是重新覆盖视图
语法:
CREATE OR REPLACE VIEW 视图名 AS 查询语句;
例子:
create or replace view view_stu as select sno,sname from student;
删除视图
语法:
DROP VIEW 视图名;
例子:
drop view view_stu;
查看视图
和查看表一样
例子:
select * from view_stu;
更新视图
和更新表一样,会影响表的数据
例子:
update view_stu set sage=sage+1;