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 ')