最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

视图让你的机房查询语句更简单

来源:懂视网 责编:小采 时间:2020-11-09 15:02:41
文档

视图让你的机房查询语句更简单

视图让你的机房查询语句更简单:使用视图背景 刚开始做机房收费系统的时候师傅说过要用上视图、存储过程、触发器这些东西。当时没有太多的感觉,不知道什么时候该用,用到哪里。就在几天前因为在做关于两个表的查询语句时,就自己建立一个视图,然后查询出来结果,然后就成功了。我做的有点
推荐度:
导读视图让你的机房查询语句更简单:使用视图背景 刚开始做机房收费系统的时候师傅说过要用上视图、存储过程、触发器这些东西。当时没有太多的感觉,不知道什么时候该用,用到哪里。就在几天前因为在做关于两个表的查询语句时,就自己建立一个视图,然后查询出来结果,然后就成功了。我做的有点

使用视图背景 刚开始做机房收费系统的时候师傅说过要用上视图、存储过程、触发器这些东西。当时没有太多的感觉,不知道什么时候该用,用到哪里。就在几天前因为在做关于两个表的查询语句时,就自己建立一个视图,然后查询出来结果,然后就成功了。我做的有点

使用视图背景

刚开始做机房收费系统的时候师傅说过要用上视图、存储过程、触发器这些东西。当时没有太多的感觉,不知道什么时候该用,用到哪里。就在几天前因为在做关于两个表的查询语句时,就自己建立一个视图,然后查询出来结果,然后就成功了。我做的有点太简单了,在想是不是自己做错了。上网查了一下,看了一些博客。事实证明,它就是来简化数据库的操作,同时提高了速度。

视图简介:

视图是一张虚拟表,是存储在数据库中的查询的SQL语句,与此相关的数据并没有再存一份于数据库中。通过视图看到的数据仍然存放在基表中。视图看上去非常像数据库中的物理表,对它的操作同任何其它的表一样。当通过视图修改数据时,实际上是在改变基表中的数据;相反地,基表数据的改变也会自动反映在由基表产生的视图中。由于逻辑上的原因,有些视图可以修改对应的基表,而有些则不能(仅仅能查询)。

视图的用途:

—简单性:简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。

— 安全性:通过视图用户只能查询和修改他们所能见到的数据。数据库中其他的数据既看不到也取不到。

— 效率性:简化了数据操作,从很大程度上提高了查询速度。

— 独立性:视图可以使应用程序和数据库表在一定程度上独立。

如何创建视图?

有两种方法:

1、——Sql Server Management Studio 中直接新建视图:

(1)选择数据库中的视图选择新建视图:

\

(2)选择需要创建视图的表:

\

(3)选择需要显示信息的字段:

\

(4)直接生成的查询语句:<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+ICAgICAgICAgIDxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20140623/2014062309113733.jpg" alt="\">

(5)最后保存视图名称以后即可使用。

2、——使用 Transant—SQl语句创建视图

(1)创建视图的SQL语句的语句形式:

\

其中:

view_name:为新创建的视图指定的名字,视图名称必须符合标识符规则。

column_name:在视图中包含的列名,也可以在Select语句中指定列名。

table_name:视图基表的名字。

select_statement:选择哪些列进入视图的Select语句。

WHERE search_condition:基表数据进入视图所应满足的条件。

WITH CHECK OPTION:迫使通过视图执行的所有数据修改语句必须符合视图定义中设置的条件。

WITH ENCRYPTION:对视图的定义进行加密。

(2)使用SQL语句创建视图的步骤:

—编写用户创建视图的Select语句。

—对select语句进行测试。

—检查测试结果是否正确,是否和预期的一样。

—创建视图。

(3)在创建视图的时候,应该考虑一下因素:

—在CREATE VIEW语句中,不能包含order by 、compute或者compute by子句,也不能出现into关键字。

—创建视图所参考基表的列数最多为1024列。

—创建视图不能参考临时表。

—在一个批处理语句中,CREATE VIEW语句不能和其他Tracsact-SQL语句混合使用。

—尽量避免使用外连接创建视图。

视图的使用:

视图在程序中使用时就像普通表一样使用,例如:

 '组合查询 管理学生信息 查询视图Stu_View 连接卡和学生两个表
 Public Function CombinQueryStudent(ByVal student As Entity.ConbinQueryInfo) As DataTable Implements IDAL.IStudent.CombinQueryStudent

 Dim strSql As String '定义一个查询语句字符串
 Dim tableName As String '定义一个数据库表名字符串
 Dim table As DataTable = New DataTable
 Dim helper As Helper.SqlHelper = New Helper.SqlHelper
 Try
 tableName = "Student_View" '需要操作的视图

 strSql = CombinQueryDAL.CreateSqlString(student, tableName) '生成需要查询的sql语句
 table = helper.ExecuteNonQuery(strSql, CommandType.Text)
 Return table
 Catch ex As Exception
 Throw ex
 End Try
 End Function

视图的优点:

在程序设计的时候必须先了解视图的优缺点,这样可以扬长避短视图除了上面所述的一些优点之外,视图也存在一些缺点,主要如下。


● 性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也把它变成一个复杂的结合体,需要花费一定的时间。

● 修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的视图,可能是不可修改的。



所以,在定义数据库对象时,不能不加选择地来定义视图,应该权衡视图的优点和缺点,合理地定义视图。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

视图让你的机房查询语句更简单

视图让你的机房查询语句更简单:使用视图背景 刚开始做机房收费系统的时候师傅说过要用上视图、存储过程、触发器这些东西。当时没有太多的感觉,不知道什么时候该用,用到哪里。就在几天前因为在做关于两个表的查询语句时,就自己建立一个视图,然后查询出来结果,然后就成功了。我做的有点
推荐度:
标签: 背景 查询 使用
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top