视图的作用:
第一点:使用视图,可以定制用户数据,聚焦特定的数据。

解释:
    在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话,
    采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没
    有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视
    图,以后他在查询数据时,只需select * from view_caigou 就 可以啦。 第二点:使用视图,可以简化数据操作。 解释:我们在使用查询时,在很多时候我们要使用聚合函数,同时还要 显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能 会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我 们只需要select * from view1就可以啦~,是不是很方便呀~ 第三点:使用视图,基表中的数据就有了一定的安全性 解释: 因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以 将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集 合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改 和删除,可以保证数据的安全性。 第四点:可以合并分离的数据,创建分区视图(//目前我没用到) 解释: 随着社会的发展,公司的业务量的不断的扩大,一个大公司,下属都设有很 多的分公司,为了管理方便,我们需要统一表的结构,定期查看各公司业务 情况,而分别看各个公司的数据很不方便,没有很好的可比性,如果将这些 数据合并为一个表格里,就方便多啦,这时我们就可以使用union关键字, 将各分公司的数据合并为一个视图。

2、Sql server中创建视图和创建表是一样的

2.1)创建表是这样的

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。 视图(转) 随笔 第1张
--------创建表-------
--判断是否存在--
if exists (select * from sysobjects where name = 'Tab_EdsProd')
 drop table Tab_EdsProd
 go
 --创建表
create table Tab_EdsProd 
(
    Mid int identity(1,1) primary key,
    Code varchar(10) null,
    Name varchar(20) null    
)
--添加数据--
insert into Tab_EdsProd(Code,Name) values('001','张三');
insert into Tab_EdsProd(Code,Name) values('002','李四')
--查询数据--
select * from Tab_EdsProd
视图(转) 随笔 第2张

2.3)创建视图是这样的

视图(转) 随笔 第3张
--------创建视图-------
--判断是否存在--
if exists (select * from sysobjects where name = 'View_EdsProd')
 drop view View_EdsProd
 go
 --创建视图
create view View_EdsProd 
as
   select * from Tab_EdsProd where Mid>1
go
--使用视图--
select *from View_EdsProd
视图(转) 随笔 第4张

创建表结果如下

视图(转) 随笔 第5张视图(转) 随笔 第6张

创建视图结果如下

视图(转) 随笔 第7张视图(转) 随笔 第8张

如何创建的视图不允许更改,可以加上 with encryption

视图(转) 随笔 第9张
--------创建加密视图-------
--判断是否存在--
if exists (select * from sysobjects where name = 'View_Jm_EdsProd')
 drop view View_Jm_EdsProd
 go
 --创建视图
create view View_Jm_EdsProd 
with encryption
as
   select * from Tab_EdsProd where Mid>1
go
--使用视图--
select *from  View_Jm_EdsProd 
视图(转) 随笔 第10张

加上with encryption 不可修改视图

视图(转) 随笔 第11张

视图定义来源于

http://blog.csdn.net/u014242422/article/details/53266859

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄