前言
好長時間沒有寫過博客了,人變懶了很多,應該說本來也不怎么勤快。但今天為了這個工具,必須得勤快一下了,天下真的沒有免費的午餐。
之前使用過sql server 2000的查詢設計器和Toad for oracle 都有格式化Sql語句的功能,感覺很方便,尤其對於我這種有着輕微強迫症的人來說。當最近把SQL Server Management Studio(SSMS)升級到2008 R2版本時,沒有格式化的功能,之前的2005和2008也都沒有,咱就不知道微軟是咋想的了。所以就想找一個在SSMS中能格式化代碼的插件,搜來搜去就搜到了很多人推薦的SQL Pretty Printer神器,然后過來下載測試了,使用結果挺滿意地,下面就說說SQL Pretty Printer Add-In for SSMS的使用吧。
內容
1、首先下載安裝程序,下載地址在這里,下載完成之后直接安裝就可以了,沒有什么要說的。
2、安裝完成之后重新打開SSMS,就會看到如下圖:
3、Format Selected SQL
這個功能主要是格式化當前窗口中選擇的SQL語句,只有先選擇要格式化的SQL語句才能使用該功能。
4、Fromat All SQL
這個功能主要是格式化當前窗口中所有的SQL語句。
5、效果:
格式化之前
格式化之后
6、Rename Table 和 Rename Column
這兩個功能是3.2.0新增加的,主要用於在復雜的SQL語句(包括嵌套子查詢、連接、函數調用的參數,存儲過程中的參數),重命名表名和列名。下面看一個示例大概就明白啥意思了,我的理解就是類似於使用正則表達式匹配,然后替換其中的表名和列名。
使用下面的SQL語句做測試:
SELECT person.firstname, Orders.NAME FROM person LEFT JOIN Orders ON person.P_Id = Orders.P_Id ORDER BY person.firstname
替換之后的SQL語句,表名沒有變,只有列名變化,這個功能倒是挺有用的,遇到要修改不同表的相同的列名情況下,挺適合的。
7、To C#(To VB.NET)
將SQL語句轉換成C#語言中的輸出語句。還是使用上面的SQL語句,在SSMS中選中要轉換的SQL語句,然后選擇To C#,將會看到如下轉換后的C#代碼,生成一個SQL語句的字符串,可以減少在代碼中寫拼SQL語句的麻煩:
StringBuilder varname1 = new StringBuilder(); varname1.Append("SELECT Persons.firstName, \n"); varname1.Append(" Orders.NAME \n"); varname1.Append("FROM Persons \n"); varname1.Append(" LEFT JOIN Orders \n"); varname1.Append(" ON Persons.P_Id = Orders.P_Id \n"); varname1.Append("ORDER BY Persons.firstName ");
8、C# To SQL (VB.NET To SQL)
將C#代碼翻譯成SQL語句,C#代碼好像只要滿足varname1.Append("SQL語句");就能轉換成對應的SQL語句了,在他們網站上找半天沒有找到相關說明的文檔,測試的話已經限制使用了,好苦逼啊
9、SQL Formatter Options
這個就是格式化的選項了,打開如下圖所示,具體的功能就不介紹了,我也沒有仔細看,用默認設置應該就夠用了。
此文純屬個人對這個軟件的一些理解,有啥不正確的地方,還請斧正!
參考