继续上午的结帖问题:“sql2000查询分析器里运行此条语句出错,到底是哪错的泥? ”
上午问这个问题已经结帖给分,我以为得到了正确答案,但是回到我sql server 2000上怎么还会出错呢?
create procedure proc_GetListByPageIndex( @pageIndex int=1, @pageSize int=5)as select top (@pageSize) * from employees where employeeid not in ( select top ((@pageSize)*(@pageIndex-1)) employeeid from employees order by employeeid )order by employeeid
create procedure proc_GetListByPageIndex( @pageIndex int=1, @pageSize int=5)as EXEC ('select top '+@pageSize+' * from employees where employeeid not in ( select top '+@pageSize+'*('+@pageIndex+'-1)+employeeid from employees order by employeeid)order by employeeid' )
[解决办法]
declare @num int
set @num =10
DECLARE @sqlstr NVARCHAR(200)
SELECT @sqlstr = 'select top ('+CAST(@num AS VARCHAR(10)) + ') id from test '
EXEC(@sqlstr)