设为首页 收藏本站
查看: 672|回复: 0

[经验分享] 巧妙使用SQL Server编辑前200行功能

[复制链接]

尚未签到

发表于 2018-10-16 11:56:33 | 显示全部楼层 |阅读模式
  在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的用户的福音。产品升级时间的缩短同时也带来了一些问题:如兼容性、升级成本、新增功能等等,这些都是需要考虑的因素,本文只是站在纯粹的使用者角度来看待这个问题。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-622316-1-1.html 上篇帖子: SQL SERVER 重装时报错:MsiGetProductInfo无法检索 Product Code 为的包的ProductVers 下篇帖子: SQL Server 2008 R2 事务与隔离级别实例讲解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表