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,我可以來改進 :)
程序下載地址: