【问题标题】:SQL: How do I use parameter for TOP like in SELECT TOP @amount? [duplicate]SQL:如何在 SELECT TOP @amount 中使用 TOP 参数? [复制]
【发布时间】:2009-12-20 18:06:17
【问题描述】:
【问题讨论】:
标签:
sql
sql-server
tsql
parameters
【解决方案1】:
需要括号,并且仅适用于 SQL Server 2005 及更高版本
SELECT TOP (@param1) ...
【解决方案2】:
对于旧版本的 SQL Server,您可以使用:
SET ROWCOUNT @NumberOfResults
SELECT * FROM MyTable
SET ROWCOUNT 0
However, you should not use this technique on 2008:
使用 SET ROWCOUNT 不会影响
DELETE、INSERT 和 UPDATE 语句
在 SQL Server 的下一版本中
(2008 年)。不要将 SET ROWCOUNT 与
DELETE、INSERT 和 UPDATE 语句
在新的开发工作中,并计划
修改当前使用的应用程序
它。此外,对于 DELETE、INSERT 和
当前使用的 UPDATE 语句
SET ROWCOUNT,我们建议您
重写它们以使用 TOP 语法。
有关详细信息,请参阅删除
(Transact-SQL)、插入 (Transact-SQL)、
或 UPDATE (Transact-SQL)。