Sql server中 如何用sql语句创建视图
1、视图的作用
视图的作用:
第一点:使用视图,可以定制用户数据,聚焦特定的数据。
解释:
在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话,
采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没
有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视
图,以后他在查询数据时,只需select * from view_caigou 就
可以啦。
第二点:使用视图,可以简化数据操作。
解释:我们在使用查询时,在很多时候我们要使用聚合函数,同时还要
显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能
会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我
们只需要select * from view1就可以啦~,是不是很方便呀~
第三点:使用视图,基表中的数据就有了一定的安全性
解释:
因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以
将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集
合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改
和删除,可以保证数据的安全性。
第四点:可以合并分离的数据,创建分区视图(//目前我没用到)
解释:
随着社会的发展,公司的业务量的不断的扩大,一个大公司,下属都设有很
多的分公司,为了管理方便,我们需要统一表的结构,定期查看各公司业务
情况,而分别看各个公司的数据很不方便,没有很好的可比性,如果将这些
数据合并为一个表格里,就方便多啦,这时我们就可以使用union关键字,
将各分公司的数据合并为一个视图。
2、Sql server中创建视图和创建表是一样的
2.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.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
创建表结果如下
创建视图结果如下
如何创建的视图不允许更改,可以加上 with encryption
--------创建加密视图------- --判断是否存在-- 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
加上with encryption 不可修改视图
视图定义来源于
http://blog.csdn.net/u014242422/article/details/53266859
平时多记记,到用时才能看看,记录你的进步,分享你的成果