(小技巧)SQL Server Management提供的最简单的SQL查询语句格式化
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。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语句的小东东,被称为“在编辑器中设计查询”(下图中最后一个按钮),估计有好多朋友没有注意到
原来凌乱的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)
在代码编辑器选中要格式化的代码,点如图按钮
代码立即被格式化,如下图
格式化后的代码:
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
- 。。。。。