著作權聲明:原創作品,允許轉載,轉載時請務必以超連結形式標明文章 原始出處 、作者資訊和本聲明。否則將追究法律責任。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 JOINFuncInfos AS b ON a.FFuncID = b.FFuncID INNER JOIN Modules AS c ON c.FModuleID = b.FModuleIDWHERE (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.FRelPageUrlFROM FuncInRoles AS a INNER JOINFuncInfos AS b ON a.FFuncID = b.FFuncID INNER JOINModules AS c ON c.FModuleID = b.FModuleIDWHERE (a.FRoleID = @RoleId) AND (b.FModuleID = @FModuleID) AND (a.FSchoolID = @SchoolId)
呵呵,格式化後不是很理想,不過要比原來的好很多,另外,這個東東只能格式化Select語句,畢竟只是一個查詢設計工具而已,不要報太高的期望。
希望對大家有協助。
預告一下,過幾天我將發布我開發的SQL Server 2005和VS 2008的外掛程式,功能包括
- 完整的SQL代碼格式化
- 資料庫物件快速定位,尋找
- SQL代碼地區摺疊 #region...#endregion
- 。。。。。