织梦CMS - 轻松建站从此开始!

技术无忧网 - 技术从此无忧 -- 一站式中文IT技术网站 - www.tech51.net

当前位置: 主页>软件频道>数据库>

SQL2005对于SQL2000的改进(2)

时间:2009-01-08 10:41来源: 作者: 点击:
二、开发方面 1、Ranking函数集。 其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQL Server2005的row_number比Oracle的更先进。

  二、开发方面

  1、Ranking函数集。

  其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQL Server2005的row_number比Oracle的更先进。因为它把Order by集成到了一起,不用像Oracle那样还要用子查询进行封装。但是大家注意一点。如下面的例子:

  select ROW_NUMBER() OVER (order by aa)
from tbl
order by bb

  会先执行aa的排序,然后再进行bb的排序。

  可能有的朋友会抱怨集成的order by,其实如果使用ranking函数,Order by是少不了的。如果担心Order by会影响效率,可以为order by的字段建立聚集索引,查询计划会忽略order by 操作(因为本来就是排序的嘛)。

  2、top。

  可以动态传入参数,省却了动态SQL的拼写。

  3、Apply。

  对递归类的树遍历很有帮助。

  4、CTE。

  阅读清晰,非常有时代感。

  5、try/catch。

  代替了原来VB式的错误判断。比Oracle高级不少。

  6、pivot/unpivot。

  个人感觉没有case直观。而且默认的第三字段(还可能更多)作为group by字段很容易造成新手的错误。

(责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片