zoukankan      html  css  js  c++  java
  • (转)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
    --------创建加密视图-------
    --判断是否存在--
    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
  • 相关阅读:
    sql server 跟踪各事件的字段项编码及解释
    sql server 有关锁的视图说明 syslockinfo
    SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
    [SqlServer]创建链接服务器
    SQL Server 2008 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过
    sql server 索引分析相关sql
    IO系统性能之一:衡量性能的几个指标
    Writing to a MySQL database from SSIS
    用漫画的形式来讲解为什么MySQL数据库要用B+树存储索引?
    一份 Tomcat 和 JVM 的性能调优经验总结!拿走不谢
  • 原文地址:https://www.cnblogs.com/lMonster81/p/10434023.html
Copyright © 2011-2022 走看看