園子里關于存儲過程的討論有很多,不少人建議將sql語句寫在程序中,這篇隨筆討論一下sql語句在程序中的寫法。
1string strsql = "select [addressid], [addressline1], [addressline2], [city], [stateprovinceid], [postalcode], [rowguid], [modifieddate] from [adventureworks].[person].[address] where city = 'bothell' order by addressid";
這是最普通的一種寫法,而且在開發中被廣泛采用。
string strsql = "select " +
"[addressid], " +
"[addressline1], " +
"[addressline2], " +
"[city], " +
"[stateprovinceid], " +
"[postalcode], " +
"[rowguid], " +
"[modifieddate] " +
"from " +
"[adventureworks].[person].[address] " +
"where " +
"city = 'bothell' " +
"order by " +
"addressid";
第二種寫法,除了讓人開著舒服一點外,沒有任何好處。

上圖所示的寫法要更好一點,可以降低維護難度,提高開發效率,團隊開發中應該對這些小細節加以規定。其中,圖中標示的第一點可以看看在sql server 2005中通過下圖菜單生成的sql語句,但不知道為什么sql server 2005的查詢編輯器生成的sql語句還是那么蹩腳。微軟完全可以解析sql語句并使之成為更有利于開發的格式。
上圖所示的寫法要更好一點,可以降低維護難度,提高開發效率,團隊開發中應該對這些小細節加以規定。其中,圖中標示的第一點可以看看在sql server 2005中通過下圖菜單生成的sql語句,但不知道為什么sql server 2005的查詢編輯器生成的sql語句還是那么蹩腳。微軟完全可以解析sql語句并使之成為更有利于開發的格式。
如果有兩個表進行連接,inner(left/right) join等語句也應該寫在一行。另外,建議使用更簡單的英文別名代替中文表名。
|
新聞熱點
疑難解答