111,129
社区成员
发帖
与我相关
我的任务
分享
CREATE PROCEDURE [dbo].[Up_Spp_XXXX]
@TTT varchar(8),--条件,你懂的
@pageNo int,
@pageSize int,
@DataCount int output
AS
DECLARE @sql nvarchar(2000)
DECLARE @Filter nvarchar(2000)
set @sql = 'select * from (
select ROW_NUMBER() Over(order by Table1.datatime desc) as rowNum
,Table1.x1 -- 字段1
,Table2.x2 -- 字段2
from Table1
left join Table2 on Table2.id2=Table1.id1
where 1=1
'
set @Filter = ''
if @TTT<>''
begin
set @Filter = @Filter+ ' and (Table1.TTT=''' + @TTT +''')'
end
set @sql=@sql+@Filter+') as temp where rowNum > '+Cast((@pageNo - 1) * @pageSize as Nvarchar)+' and rowNum<='+Cast(@pageNo*@pageSize as Nvarchar)
if (@pageNo=1)
begin
set @sql=@sql+ ';select @Num =count(*) from Table1 left join Table2 on Table2.id2=Table1.id1 where 1=1 ' + @Filter ;
EXEC sp_executesql @sql,N'@Num int output',@DataCount output
end
else
begin
exec (@sql)
set @DataCount=0;
end
--print @sql