SQL Server视图管理中的四个限制条件
2009-01-05 10:18:41 来源:WEB开发网核心提示:通过视图来访问数据,其优点是非常明显的,SQL Server视图管理中的四个限制条件,如可以起到数据保密、保证数据的逻辑独立性、简化查询操作等等, 但是,此时,就不能够对这张表进行更新,话说回来,SQL Server数据库中的视图并不是万能的
通过视图来访问数据,其优点是非常明显的。如可以起到数据保密、保证数据的逻辑独立性、简化查询操作等等。
但是,话说回来,SQL Server数据库中的视图并不是万能的,他跟表这个基本对象还是有重大的区别。在使用视图的时候,需要遵守四大限制。
限制条件一:视图数据的更改。
当用户更新视图中的数据时,其实更改的是其对应的数据表的数据。无论是对视图中的数据进行更改,还是在视图中插入或者删除数据,都是类似的道理。但是,不是所有视图都可以进行更改。如下面的这些视图,在SQL Server数据库中就不能够直接对其内容进行更新,否则,系统会拒绝这种非法的操作。
如在一个视图中,若采用Group By子句,对视图中的内容进行了汇总。则用户就不能够对这张视图进行更新。这主要是因为采用Group By子句对查询结果进行汇总在后,视图中就会丢失这条纪录的物理存储位置。如此,系统就无法找到需要更新的纪录。若用户想要在视图中更改数据,则数据库管理员就不能够在视图中添加这个Group BY分组语句。
如不能够使用Distinct关键字。这个关键字的用途就是去除重复的纪录。如没有添加这个关键字的时候,视图查询出来的纪录有250条。添加了这个关键字后,数据库就会剔除重复的纪录,只显示不重复的50条纪录。此时,若用户要改变其中一个数据,则数据库就不知道其到底需要更改哪条纪录。因为视图中看起来只有一条纪录,而在基础表中可能对有的纪录有几十条。为此,若在视图中采用了Distinct关键字的话,就无法对视图中的内容进行更改。
如果在视图中有AVG、MAX等函数,则也不能够对其进行更新。如在一张视图中,其采用了SUN函数来汇总员工的工资时,此时,就不能够对这张表进行更新。这是数据库为了保障数据一致性所添加的限制条件。
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接