巧妙使用SQL Server编辑前200行功能
时间:2010-09-13 来源:蒋建华
在SQL Server 2005/2008/2008 R2中,我们可以使用SQL Server自带的编辑前200行功能,使用这个功能的本意是简化Update 的使用,让开发人员、DBA和不懂T-SQL的一些人能够通过可视化界面来直接修改数据库里的数据。
在使用编辑前200行功能的时候,编辑前200行数据,简便是简便了,但是简便了以后更想直接在可视化的页面里直接编辑想要编辑的数据,而不是打开编辑界面后自动读出来的200条,自动读出来的200条顺序杂乱,本来是一个很好用的强大功能,显得有些鸡肋。
在偶然中,发现通过显示条件窗格、显示SQL 窗格这样的一个小技巧来读取想要读取的数据,或者对读取出的数据进行排序,这样修改数据的时候就简便多了。
废话少说,给出一个实际案例。
现有一个Menu数据表,这个表里存储了系统菜单信息,表结构如下:
SELECT TOP 1000 [FUNCTIONCODE]--菜单编号,主键 ,[FUNCTIONNAME]--名称 ,[FUNCTIONURL]--链接 ,[TYPE]--类型 ,[DESCRIPTION]--描述 ,[ORDERNO]--排序 FROM [dbo].[MENU] |
打开数据库后,直接使用编辑前200行功能,如下图所示:
图 编辑前200行
打开以后读取MENU里的数据,如下图所示:
图 编辑前200行
如上图所示,打开MENU里的数据后,由于菜单不是一次添加进数据表里的,那么不会根据主键列来排序,这样给直接使用数据库数据修改菜单数据带来了不便,不能把一个菜单项的数据顺序的放在一起,后来发现可以使用显示条件窗格来修改默认读取的前200行数据的顺序,在SSMS里打开显示条件窗格,如下图所示:
图 使用显示条件窗格
点击“显示条件窗格”,打开界面如下图所示:
图 显示条件窗格
在显示条件窗格中,我们首先根据FUNCTIONCODE来排序,再根据ORDERNO来排序,这样就能把一个菜单的所有数据放在一起,设置完成后,点击执行SQL,如下图所示:
图 执行SQL
执行完SQL后,其结果如下图所示:
图 按顺序排列的菜单数据
这样我们就可以按照自己想要的方式来进行修改数据了,而且一个菜单的数据都放在一起,方便了对菜单数据主键和排序的修改。
除了使用显示条件窗格,还可以使用显示SQL窗格,点击显示SQL 窗格,结果如下所示:
图 显示SQL窗格
在显示SQL窗格中,我们可以使用开发人员和DBA熟悉的T-SQL语句来读取数据,读取出的数据直接可以在结果列表里修改,还可以读取超过200条的数据,可以使用条件语句和Order by的语句,为了和使用条件窗格对应,我们使用如下SQL语句来读取MENU数据。
SELECT TOP (1000) FUNCTIONCODE, FUNCTIONNAME, FUNCTIONURL, TYPE, DESCRIPTION, ORDERNO FROM MENU ORDER BY FUNCTIONCODE ASC, ORDERNO ASC |
这里最多可以读取1000条MENU数据,和使用条件窗格读取的数据结果完全相同的,显示的界面如下图所示:
图 使用显示SQL窗格
除了使用显示条件窗格、显示SQL 窗格外,还可以使用显示视图窗格,这个是为了哪些对T-SQL不熟悉的准备的一个可视化的操作界面,功能也相当全面,方便获取SQL语句。
小结
在数据库产品上,大多数人总是偏爱ORACLE、MYSQL,偏爱ORACLE是因为ORACEL的稳定性和功能的强大,是使用PL-SQL有很多简便的工具可以使用;偏爱MYSQL是因为这个家伙算是半免费,体积小,性价比高。SQL Server却很少得到好评,虽然功能也很强,但是批评的声音不断。但是,通过这个小技巧的介绍,逐渐明白SQL Server的功能并不是我们想象的那么弱,只是有很多好东西、技巧我们没有去发现和掌握。相较于SQL Server 2000到SQL Server 2005,5~6年才出一个版本,SQL Server 2005到SQL Server 2008这个时间缩短到了3年,这是使用SQL Server的用户的福音。产品升级时间的缩短同时也带来了一些问题:如兼容性、升级成本、新增功能等等,这些都是需要考虑的因素,本文只是站在纯粹的使用者角度来看待这个问题。
相关阅读 更多 +