从事企业系统开发很多年了,在系统的工作流分析中,少不了要分析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,我可以来改进 :)