SQL2000存储过程?谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/20 13:32:21
一个普通的存储过程,如下:
create proc name1
(
@top1 [int],
@top2 [int]
)
as
select top @top1 字段1,字段2 from table1 where id not in (select top @top2 id from table1)

这个过程在SQL2005中是正常的,但是在SQL2000中就是不行,请高手帮改造一下吧,该死的2000不支持TOP函数。
我现在真是晕死了,如果只有一个TOP变量的话,加句set rowcount @top还能通过,但是现在出现两个TOP变量,具体该怎么写?我也问过这个问题,但是朋友们给的回答都不能通过查询分析器的测试,希望你帮忙帮到底吧,先在你的机器上用SQL2000查询分析器创建过程成功后,再把代码贴出来,好吗?

改一下:
create proc name1
(
@top1 varchar(5),
@top2 varchar(5)
)
as
declare @str varchar(200)
set @str = 'select top '+@top1+' 字段1,字段2 from table1 where id not in ( select top '+@top2+' id from table1 )'
exec(@str)

执行测试 exec name1 '2','3'