如何书写这句存储过程?aspnetpager中的.
ALTER procedure GsjyShowDGProcessor
(@where varchar(100),
@pagesize int,
@pageindex int,
@docount bit)
as
set nocount on
declare @RecordCount int
select @RecordCount=count (id) from news
if(@docount=1)
select @RecordCount
else
begin
if(@pageindex=1)
exec('select top '+@pagesize+'* from news'+@where+' order by indextime desc')
else
begin
declare @PageUpperBound int
declare @endrecords int
set @PageUpperBound=@pageindex*@pagesize
if(@PageUpperBound-@pagesize)>=@RecordCount
select ''
else if(@RecordCount-(@PageUpperBound-@pagesize)<=@pagesize)
begin
set @endrecords=@RecordCount-(@PageUpperBound-@pagesize)
exec('select * from (select top '+@endrecords+' * from news'+@where+' order by indextime)A order by indextime desc')
end
else
exec('select * from (select top '+@pagesize+'* from (select top '+@PageUpperBound+' * from news'+@where+' order by indextime desc)A order by indextime)B order by indextime desc')
end
end
set nocount off
我的@where参数是如"where a='1'and b='2' and c='3' ....."程序中生成的动态语句.
如何改写select @RecordCount=count (id) from news
使RecordCount 的值是条件中的记录总数,而不是所有的记录数.
这个@where参数该如何添上?
谢谢.