(小技巧)SQL Server Management提供的最简单的SQL查询语句格式化

摘要:
T-SQL语句没有格式标准,所以基本上每个人都有自己的风格。目前,格式化SQL的工具似乎很少,或者功能很弱。事实上,理想的做法是将SQL代码格式的功能集成到开发环境中,如SQLServerManagement或VS,这样更方便。预览:我将在未来几天发布我开发的SQLServer2005和VS2008插件。这些功能包括完整的SQL代码格式化、快速定位数据库对象、搜索SQL代码区域、折叠#region…#endregion。。。。。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://www.cnblogs.com/jintan/archive/2008/03/27/1125853.html

   SQL语句写多了,难免经常会为乱七八糟的SQL而头痛,漂亮的代码看起来就是舒服、养眼,而且条理清楚。

   T-SQL语句本身就没有的格式化标准,所以,基本上每个人呢都有自己的风格,而且目前看到格式化SQL的工具好像不多,或者是功能很弱,其实最理想的是将SQL代码格式的功能集成到开发环境中去,例如集成到SQL Server Management或者VS中,这样就比较方便。

   现在来看看SQL Server Management内置的一个格式化select语句的小东东,被称为“在编辑器中设计查询”(下图中最后一个按钮),估计有好多朋友没有注意到

ITXGAIWH]M$GVLZ4T6HP9ZE

原来凌乱的SQL如下:

SELECT c.FName, c.FUrl, b.FDisplayName, b.FModuleID, b.FFuncName, a.FAuFlag, b.FRelPageUrl FROM   FuncInRoles AS a INNER JOIN
FuncInfos AS b ON a.FFuncID = b.FFuncID INNER JOIN Modules AS c ON c.FModuleID = b.FModuleID
WHERE (a.FRoleID = @RoleId) AND (b.FModuleID = @FModuleID) AND (a.FSchoolID = @SchoolId)
在代码编辑器选中要格式化的代码,点如图按钮
sql2 
代码立即被格式化,如下图
sql3 
格式化后的代码:
SELECT     c.FName, c.FUrl, b.FDisplayName, b.FModuleID, b.FFuncName, a.FAuFlag, b.FRelPageUrl
FROM         FuncInRoles AS a INNER JOIN
FuncInfos AS b ON a.FFuncID = b.FFuncID INNER JOIN
Modules AS c ON c.FModuleID = b.FModuleID
WHERE     (a.FRoleID = @RoleId) AND (b.FModuleID = @FModuleID) AND (a.FSchoolID = @SchoolId)
 
  呵呵,格式化后不是很理想,不过要比原来的好很多,另外,这个东东只能格式化Select语句,毕竟只是一个查询设计器而已,不要报太高的期望。
希望对大家有帮助。
预告一下,过几天我将发布我开发的SQL Server 2005和VS 2008的插件,功能包括
  • 完整的SQL代码格式化
  • 数据库对象快速定位,查找
  • SQL代码区域折叠 #region...#endregion
  • 。。。。。

免责声明:文章转载自《(小技巧)SQL Server Management提供的最简单的SQL查询语句格式化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vscode + vim 全键盘操作高效搭配方案使用eclipse将maven项目部署tomcat, 以及如何实现热部署下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL insert语句中插入带有特殊符号

1、插入数据库字符串中海油单引号,需要转义处理,例如插入“I‘m OK!” SQL语句: 1 INSERT INTO tableTest(FileTXT) VALUES('I''m OK!') 2、如果SQL中有“&”特殊字符,那么后面的字符串会被当作一个变量处理,无法正常插入数据库。 如果需要把“&”字符插入到数据库, SQL语句: 1...

基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0

基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 目录 1、 开发环境 2、 主要功能逻辑介绍 3、 框架功能简介 4、 数据库的创建 5、 框架模块详细介绍 6、 Testlink相关配置与用例管理 a) API相关配置 b) 项目相关配置 c) 用例管理 ① 步骤动作和预期结果填写规范 ② 参数化 ③ 用例执行依赖...

SqlServer关于“无法删除数据库 "XXXX",因为该数据库当前正在使用”问题的解决方案

引言 在项目中,通过使用SQL语句“DROP DATABASE [数据库名]”删除数据时,一直出现“无法删除数据库 "XXXX",因为该数据库当前正在使用”的错误信息,经测试在SqlSever数据库客户端中,直接执行该Sql语句可以正常执行,但是通过OLEDB执行该Sql语句,就出现上述错误,笔者查阅相关文档,找到了解决该问题的方法。 解决方法 将要删除的...

Cypress web自动化36-cy.exec()执行python查询数据库获取结果(json数据转object对象)

前言 cy.exec() 可以执行系统命令行,那么用 python 写个查询 sql 的时候,返回结果是 json 格式。 cypress 的脚本是 javascript 语言写的,没法直接识别python返回的数据,需用 JSON 解析成 object 对象。 解决思路 遇到场景: 写自动化用例的时候,需要准备测试数据,有些数据是需要动态从数据库中读取,...

PHP基础封装简单的MysqliHelper类

MysqliHelper.class.php 1: <?php 2: 3: /** 4: * MysqliHelper 5: * [面向对象的MysqliHelper的简单封装] 6: */ 7: class MysqliHelper 8: { 9: private static $mysqli; 10: private stat...

SQL server 2008 数据库企业版安装教程图解

SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平...