这个存储过程应该怎么修改?
CREATE PROCEDURE Pr_GetYouHuoSearch
(
@strCityName nvarchar(50),
@reachCityName nvarchar(50),
@goodsClass nvarchar(50),
@goodsWeigh nvarchar(50),
@CurrPage int,
@PageSize int
)
AS
/*定义局部变量*/
declare @intYouHuoCount int
declare @intRowCount int
declare @intBeginID int
declare @intEndID int
declare @intPageCount int
declare @sql nvarchar(2000)
/*关闭计数*/
set nocount on
/*求总共有货信息数*/
select @intYouHuoCount=count(*) from dbo.YN_channel_wyhpt
if(@intYouHuoCount=0)--结果为空返回0
return 0
/*判断页数是否正确*/
if(@CurrPage-1)*@PageSize>@intYouHuoCount
return (-1)
/*求当前页开始rootID*/
set @intRowCount=(@CurrPage-1)*@PageSize+1
if @intRowCount<0
set @intRowCount=0
/*限制条数*/
set rowcount @intRowCount
select @intBeginID = id from dbo.YN_channel_wyhpt order by id desc
/*结束rootID*/
set @intRowCount = @CurrPage * @PageSize
/*限制条数*/
set rowcount @intRowCount
select @intEndID = id From dbo.YN_channel_wyhpt order by id desc
/*恢复系统变量*/
set rowcount 0
set nocount off
set @sql='select ch_chufadishengfen,ch_chufadichengshi,ch_daodadishengfen,ch_daodadichengshi,ch_LianXiDianHua,ch_youxiaoqi,ch_lianxiren,ch_yunfeiyaoqiu,ch_huowuzhongliang,ch_huowuzhonglei,CreatTime,id
from dbo.YN_channel_wyhpt WHERE id Between @intEndId and @intBeginID'
if(@strCityName!='')
begin
set @sql = @sql + ' and ch_chufadichengshi=@strCityName'
end
if(@reachCityName!='')
begin
set @sql = @sql + ' and ch_daodadichengshi=@reachCityName'
end
if(@goodsClass!='')
begin
set @sql = @sql + ' and ch_huowuzhonglei=@goodsClass'
end
if(@goodsWeigh!='')
begin
set @sql = @sql + ' and ch_huowuzhongliang=@goodsWeigh order by ID desc'
end
exec(@sql)
return(@@rowcount)