使用@格式的参数,就出错!
如下不使用(注释掉的为使用参数的),就没错!为什么?郁闷了。
Create procedure jskp_paging
(
@pagesize int=50,
@pageindex int=3
)
as
begin
SELECT * FROM jskp2007up WHERE 记录号 IN
(
SELECT TOP 40 记录号 FROM jskp2007up WHERE 记录号 NOT IN
--SELECT TOP @pagesize 记录号 FROM jskp2007up WHERE 记录号 NOT IN
(
SELECT TOP 80 记录号 FROM jskp2007up
--SELECT TOP @pagesize*@pageindex 记录号 FROM jskp2007up
)
)
end
如下不使用(注释掉的为使用参数的),就没错!为什么?郁闷了。
Create procedure jskp_paging
(
@pagesize int=50,
@pageindex int=3
)
as
begin
SELECT * FROM jskp2007up WHERE 记录号 IN
(
SELECT TOP 40 记录号 FROM jskp2007up WHERE 记录号 NOT IN
--SELECT TOP @pagesize 记录号 FROM jskp2007up WHERE 记录号 NOT IN
(
SELECT TOP 80 记录号 FROM jskp2007up
--SELECT TOP @pagesize*@pageindex 记录号 FROM jskp2007up
)
)
end
(
@pagesize int=50,
@pageindex int=3
)
as
begin
declare @str varchar(1000)
set @str='SELECT * FROM jskp2007up WHERE 记录号 IN(SELECT TOP '+@pagesize+' 记录号 FROM jskp2007up WHERE 记录号 NOT IN ( SELECT TOP '+@pagesize*@pageindex+' 记录号 FROM jskp2007up))'
exec(@str)
end