osh*_*nen 3 sql t-sql sql-server sql-server-2005
原始问题:
declare @num as int set @num = 5
select top @num col1, col2 from table1
Run Code Online (Sandbox Code Playgroud)
以上不起作用.它不喜欢以这种方式使用@num.需要做什么,所以我可以在top命令旁边有一个变量值?
它给出了错误:
'@num'附近的语法不正确
Sac*_*hag 12
SELECT TOP (@num) a FROM table
Run Code Online (Sandbox Code Playgroud)
从SQL Server 2005开始,支持参数化TOP.
SQL Server 2000以后:
declare @num as int
set @num = 5
SET ROWCOUNT @num
select col1, col2 from table1
SET ROWCOUNT 0
Run Code Online (Sandbox Code Playgroud)
更新:实际上,你确定这不起作用(我没有2005实例可用):
declare @num as int
set @num = 5
select TOP (@num) col1, col2 from table1
-- Implictly in clustered index order...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3154 次 |
| 最近记录: |