T-SQL中 ,Top n中 的 n 能不能用参数
请问
declare @TopN int
select @TopN = 5
select top @TopN * from table1
这样写报错 应该怎么写
[解决办法]
declare @TopN int, @sql varchar(8000)
select @TopN = 5
set @sql = 'select top ' + cast(@TopN as varchar(10)) + ' * from table1 '
exec (@sql)
[解决办法]
--SQL 2005可以直接用
select top (@n) * from 表名
[解决办法]
declare @TopN int
select @TopN = 5
exec ( 'select top ' + @TopN + ' * from table1 ')
go
declare @TopN int
select @TopN = 5
--测试
exec ( 'select top ' + @TopN + ' * from sysobjects ')
go
[解决办法]
declare @TopN int
select @TopN = 5
Exec ( 'select top '+cast(@TopN as varchar)+ ' * from table1 ')