zoukankan      html  css  js  c++  java
  • sql 视图

    一: 什么是视图

            视图就是一个虚拟的数据表,该数据表中的数据记录是有一条查询语句的查询结果得到的。

    二: 创建视图准则

         1:创建视图需要考虑一下准则:

    •     视图名称必须遵循标识符的规则,该名称不得与该架构的如何表的名称相同
    •     你可以对其他视图创建视图。允许嵌套视图,但嵌套不得超过32层。视图最多可以有1024个字段
    •     不能将规则和default定义于视图相关联
    •     视图的查询不能包含compute子句、compute by子句或into关键字
    •     定义视图的查询不能包含order by子句,除非在select 语句的选择列表中还有top子句

     2:下列情况必须指定视图中每列的名称

    •     视图中的如何列都是从算术表达式、内置函数或常量派生而来
    •     视图中有两列或多列具有相同名称(通常由于视图定义包含联接,因此来自两个或多个不同的列具有相同的名称)
    •     希望视图中的列指定一个与其原列不同的名称(也可以在视图中重命名列)。无论是否重命名,视图列都回继承原列的数据类型

    三: 创建视图

    1 if (exists (select * from sys.objects where name = 'v_stu'))
    2 drop view v_stu
    3 go
    4 create view v_stu
    5 as
    6 select id, name, age, sex from student; 

    四: 修改视图

     1 alter view v_stu
     2 as
     3 select id, name, sex from student;
     4  
     5 alter view v_stu(编号, 名称, 性别)
     6 as
     7 select id, name, sex from student
     8 go
     9 
    10 select * from v_stu;
    11  
    12 select * from information_schema.views;

      

    五: 加密视图

    if (exists (select * from sys.objects where name = 'v_student_info'))
    drop view v_student_info
    go
    create view v_student_info
    with encryption --加密
    as
    select id, name, age from student
    go
    --view_definition isnull
    select * from information_schema.views 
    where table_name like'v_stu';
  • 相关阅读:
    IOS-自定义返回按钮,保留系统滑动返回
    IOS-static cell 与 dynamic cell 混合使用
    IOS-快速集成检查更新
    IOS-如何优雅地拦截按钮事件(判断是否需要登录)
    IOS-更优雅地使用Static Cell
    Xcode8出现问题总结
    IOS-工程师Mac上的必备软件
    Minimum Sum of Array(map迭代器)
    C++ STL map
    Friends and Cookies(思维)
  • 原文地址:https://www.cnblogs.com/loverwangshan/p/10579838.html
Copyright © 2011-2022 走看看