create table a([id] [int]) insert into a(id) values(1) insert into a(id) values(2) insert into a(id) values(3) insert into a(id) values(4) insert into a(id) values(5)declare @num as int declare @sql as varchar(2000) set @num = 2 set @sql = 'select top ' + cast(@num as char) + ' * from a' exec(@sql)drop table aid ----------- 1 2
declare @sql varchar(200) set @sql = 'SELECT DISTINCT TOP '+ cast(@i_number_of_results as char) + i_id FROM @tb_ABC' exec(@sql)
EXEC('SELECT DISTINCT TOP '+rtirm(@i_number_of_results)+' i_id FROM ['+@tb_ABC']')
或者SET ROWCOUNT @i_number_of_resultsEXEC('SELECT DISTINCT i_id FROM ['+@tb_ABC']')SET ROWCOUNT 0
insert into a(id) values(1)
insert into a(id) values(2)
insert into a(id) values(3)
insert into a(id) values(4)
insert into a(id) values(5)declare @num as int
declare @sql as varchar(2000)
set @num = 2
set @sql = 'select top ' + cast(@num as char) + ' * from a'
exec(@sql)drop table aid
-----------
1
2
set @sql = 'SELECT DISTINCT TOP '+ cast(@i_number_of_results as char) + i_id
FROM @tb_ABC'
exec(@sql)