我运行一个简单的查询得到最高5000行的一些表:SQL Server 2000中:起床前N行
SELECT TOP 5000
accountid, account, accountmanagerid, mainphone, alternatephone, fax, email, webaddress, createuser, modifyuser, createdate, modifydate, addressid, shippingid
FROM sysdba.account
WHERE 1 = 1
AND 1 = 1
ORDER BY accountid asc
这完美地工作的SQL Server 2008上,但不幸的是,现在我发现自己想运行这个以前的工作脚本对SQL Server 2000.它似乎拒绝顶部的命令。
我该怎么做才能在此版本的sql server上找回我的5000行?
根据[MSDN文档(http://msdn.microsoft .com/en-us/library/aa259187%28v = sql.80%29.aspx),TOP在2000年有效...... – 2011-07-03 20:34:36
Keoki Zee是正确的 - 在SQL Server 2000中启动了“TOP”支持。提供比“似乎拒绝命令”更多的细节。 IME,即使在拨回兼容级别后,我仍然可以使用后来支持的功能。 –
从SQL Server 2005可以在TOP语句中使用表达式/变量。在SQL Server 2000中,它必须是一个整数值。您是否使用变量来指定值5000?如果你是,你可以改用SET ROWCOUNT。 –