SQL Server视图

来源:互联网 发布:pdf reader mac 编辑:程序博客网 时间:2024/06/07 00:41

1.创建视图

视图是一个存储查询,其用于混合和匹配基本表的数据。其语法结构如下:

sd

WITH ENCPYPTION:用于对视图进行加密,这样就不能够获取视图的代码。

WITH SCHEMABINDING:设置这个选项后,就可以创建视图索引了。

WITH VIEW_METADATA:使视图项表一样。

WITH CHECK OPTION用于规定:插入和删除的行必须满足视图中SELECT语句的WHERE条件。

eg: CREATE VIEW myView AS  SELECT a,b,c FROM myTable

        视图实质上是在基本表的基础上增加了一层,对视图进行操作,比直接对表进行操作要慢一些。创建了一个视图后,就可以像操作表一样操作视图。在对视图进行INSERT、UPDATE、DELETE操作时,要注意的几点:

        1)如果视图包含连接,如果只对单个表的列进行操作,可以使用UPDATE操作。而其他情况,最好使用INSERT OF触发器。

        2)如果视图仅仅引用单个表,并且所有的列都在视图中或者具有默认值,那么可以使用INSERT操作;否则需要使用INSERT OF触发器。

       3)可以在有限范围内限制是否可以在视图中插入或更新内容。

       4)如果使用了WITH CHECK OPTION,那么插入和更新必须满足视图的WHERE条件。

2.删除视图

其语法格式如下:

sd

3.得到视图定义的方法

1)使用存储过程sp_helptext

eg:EXEC sp_helptext viewname

2)使用sys.modules元数据函数

eg: SELECT * FROM sys.modules WHERE object_id=OBJECT_ID('viewname');

4.视图加密

使用WITH ENCPYPTION选项,这样就不能通过3所述方法获取视图的代码。

5. 索引视图

通过设置选项WITH SCHEMABINDING,那么这个视图就可以创建索引了。但创建索引视图有几个限制:

1)如果视图引用了任何自定义函数,那么必须是绑定的。

2)视图中不能引用其他视图。

3)视图中的命名必须采用两部分命名规则,并且要和视图具有相同所有者。

4)视图和视图的引用必须在相同数据库。、

5)视图引用的任何函数必须是确定的。

6)在创建视图呵呵所有底层时,必须打开ANSI_NULLS和QUOTED_IDENTIFIER选项(使用SET命令)。

原创粉丝点击