SQL语句断行与缩进
摘要:DBA们可能不会注意SQL语句的断行与缩进,但是如果您面对几十张之多的表,您该如何对待?其实写出优美SQL语句并不难,只要掌握基本的方法我们就能写出合乎阅读的语句。
从事企业系统开发很多年了,在系统的工作流分析中,少不了要分析sql语句,当系统积累到一定规模后,所涉及的数据库表会以几何数增长,因此会经常碰到很长的sql语句,涉及到的表会达到几十张之多,当你拿到这样一段sql时,需要分析各个表之间的关系,头就有点大!我google了一下,没有找到对sql语句进行断行及缩进的工具,但是工作中又经常碰到这种sql,手动来断行及缩进的话,又是一种机械重复的工作,因此"懒"劲上来了,自己周末开发了一个简单的辅助工具,同时分享给大家,我已上传程序提供下载。
我来简单的介绍一下开发原则:
(1).sql语句中的:from\select\union\where 遇到这些关键字会自动换行,如果有嵌套会自动缩进。
(2).select 部分很长的话也会自动换行,case部分也会自动换行。
程序中有3个文件:
BreakSqlCmd.exe: 命令行工具
BreakSqlUI.exe:界面工具,和命令行工具功能一样
ObjString.dll:包含实际功能的dll
然后再介绍一下使用方法:
(1).BreakSqlCmd.exe:首先将要分拆的sql复制(ctrl+c)一下,然后执行BreakSqlCmd.exe,执行成功后,分拆后的sql就复制到粘贴板上,你在查询分析器中粘贴(ctrl+z)就行了.界面如下图:
(2).BreakSqlUI.exe:这个有UI,操作简单,界面如下:
这两个exe执行结果都是一样的,可以选择自己喜欢的方式!
sql拆分后的样子如下图显示:
大家如果在使用中发现问题,可以回复我,并附上sql,我可以来改进 :)
程序下载地址: