园子里关于存储过程的讨论有很多,不少人建议将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等语句也应该写在一行。另外,建议使用更简单的英文别名代替中文表名。
新闻热点
疑难解答