exec('SELECT TOP ' +@wROWS + ' * FROM TB_EXPERT order by EXPENAME ')
DECLARE @wCOUNT INT, @wROWS INT SELECT @wCOUNT = COUNT(*) FROM TB_EXPERT SELECT @wROWS=@wCOUNT%12 print @wROWS exec('SELECT TOP ' + @wROWS + ' * FROM TB_EXPERT order by EXPENAME ')
DECLARE @wCOUNT INT, @wROWS INT,@a varchar(1000)SELECT @wCOUNT = COUNT(*) FROM TB_EXPERT SELECT @wROWS=@wCOUNT%12 print @wROWS set @a='SELECT TOP '+cast(@wROWS as varchar(10))+' * FROM TB_EXPERT order by EXPENAME 'exec(@a)
不能直接跟,可以用:DECLARE @wCOUNT INT, @wROWS INT SELECT @wCOUNT = COUNT(*) FROM TB_EXPERT SELECT @wROWS=@wCOUNT%12 print @wROWS exec('SELECT TOP '+cast(@wROWS as varchar)+' * FROM TB_EXPERT order by EXPENAME ')
使用变量,但是得使用如下方法exec('SELECT TOP ' +@wROWS + ' * FROM TB_EXPERT order by EXPENAME ')
@wROWS INT
SELECT @wCOUNT = COUNT(*)
FROM TB_EXPERT
SELECT @wROWS=@wCOUNT%12
print @wROWS
exec('SELECT TOP ' + @wROWS + ' *
FROM TB_EXPERT
order by EXPENAME ')
@wROWS INT,@a varchar(1000)SELECT @wCOUNT = COUNT(*)
FROM TB_EXPERT
SELECT @wROWS=@wCOUNT%12
print @wROWS
set @a='SELECT TOP '+cast(@wROWS as varchar(10))+' *
FROM TB_EXPERT
order by EXPENAME 'exec(@a)
@wROWS INT
SELECT @wCOUNT = COUNT(*)
FROM TB_EXPERT
SELECT @wROWS=@wCOUNT%12
print @wROWS
exec('SELECT TOP '+cast(@wROWS as varchar)+' *
FROM TB_EXPERT
order by EXPENAME ')