edd*_*ves 291 sql sql-server-2005
如何设置动态变量来设置SQL Server中要返回的行数?以下是SQL Server 2005+中无效的语法:
DECLARE @count int
SET @count = 20
SELECT TOP @count * FROM SomeTable
Run Code Online (Sandbox Code Playgroud)
Bri*_*Kim 531
SELECT TOP (@count) * FROM SomeTable
Run Code Online (Sandbox Code Playgroud)
这仅适用于SQL 2005+
x0n*_*x0n 39
语法"select top(@var)..."仅适用于SQL SERVER 2005+.对于SQL 2000,您可以执行以下操作:
set rowcount @top
select * from sometable
set rowcount 0
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
[287]莪.
(编辑用rowcount替换@@ rowcount - 感谢augustlights)
Cod*_*rks 11
在x0n的例子中,它应该是:
SET ROWCOUNT @top
SELECT * from sometable
SET ROWCOUNT 0
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/ms188774.aspx
declare @rows int = 10
select top (@rows) *
from Employees
order by 1 desc -- optional to get the last records using the first column of the table
Run Code Online (Sandbox Code Playgroud)
小智 5
或者你只是把变量放在括号里
DECLARE @top INT = 10;
SELECT TOP (@Top) *
FROM <table_name>;
Run Code Online (Sandbox Code Playgroud)