求一个MSSQL2000存储过程,带TOP变量

来源:百度知道 编辑:UC知道 时间:2024/05/21 13:51:57
MSSQL2000里的存储过程,关于有TOP变量比较麻烦
一个TOP变量的情况,可以如下:
create proc name1
(@top[int])
as
set rowcount @top
select 字段1,字段2 from table1

现在我有两个TOP变量,该怎么写啊?
动态SQL语句如下:
select top 条数 字段1,字段2 from table1 where id not in(select top 条数 id from table1)
这是个按需取数据的分页SQL语句,有人说这不是最高效的分页方式,但我不统计总数(在插入数据时已经用事务作好总数记录了),再加上做了索引,应该效率不是很低吧,在网上看到人家写的什么高效分页存储过程太复杂了,我就想用我的这个动态SQL语句简单的改造为存储过程,不知道带两个TOP变量的怎么个写法。
另外,不知哪里有比较简单点的高效分页存储过程,朋友们帮推荐参考一下吧。

感谢各位朋友帮助!祝愿大家开心快乐,一切OK!

create proc name1
(@top[int])
as
exec 'select top '+cast(@top as varchar(50))+' 字段1,字段2 from table1'

这么简单的问题,不要在问

如果是 sql 2005
select @top * from Table 可以直接使用