日期:2014-05-17  浏览次数:20755 次

不支持 OVER SQL 构造或语句??????
本帖最后由 yeosn 于 2011-08-02 10:56:46 编辑
我用如下语句在SQL Server 2005中查询:

WITH Notice_CTE AS (SELECT *, ROW_NUMBER() OVER (ORDER BY [DateTime] DESC) AS RowNumber
FROM NoticeInfor)
    SELECT     *
     FROM         Notice_CTE
     WHERE     RowNumber BETWEEN 1 AND 5

结果提示“不支持 OVER SQL 构造或语句”。这是怎么回事啊?望各位高手不吝赐教!
------解决方案--------------------
select @@VERSION看看版本
2000不支持
------解决方案--------------------
SELECT *, ROW_NUMBER() OVER (ORDER BY [DateTime] DESC) AS RowNumber
FROM NoticeInfor

这样能查出来什么不?
------解决方案--------------------
把数据库属性-> 选项中的兼容级别改为   90  试试!
------解决方案--------------------
引用:
引用:
select @@VERSION看看版本
2000不支持


执行select @@VERSION后返回如下信息:
Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) 
Oct 14 2005 00:33:37 
Copyright (c) 1988-2005 Microsoft Corp……

你的机器上装了2000和2005吧??难道是连接到2000的实例上去了?

要么打上2005的SP3补丁试下
------解决方案--------------------
引用:
引用:
引用:
引用:
select @@VERSION看看版本
2000不支持


执行select @@VERSION后返回如下信息:
Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86)
Oct 14 2005 00:33:3……

看来你的安装有问题 不如重新安装一下