如何书写这句存储过程?aspnetpager中的.

zjhzzc001 zjhzzc001 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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参数该如何添上?
谢谢.
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
zjhzzc001
.NET社区 62,271 成员 668,968 内容