8.26-搁浅

SQL储存过程的代码

create proc p_show
(
    @pageindex int,
    @pagesize int,
    @ename nvarchar(20),
    @totalcount int out,
    @totalpage int out
)
as
begin
    declare @sql nvarchar(max)='select a.*,b.DName,c.CName as Province,d.CName as City,e.CName as County from Employee a join Department b on a.DId=b.DId join City c on a.ProvinceId=c.CId join City d on 
    a.CityId=d.CId join City e on a.CountyId=e.CId'
    declare @sqlcount nvarchar(max)='select @totalcount=count(0) from Employee a join Department b on a.DId=b.DId join City c on a.ProvinceId=c.CId join City d on 
    a.CityId=d.CId join City e on a.CountyId=e.CId'
    if(@ename!='')
    begin
        set @sql+=' and a.EName like ''%'+@ename+'%'''
        set @sqlcount+=' and a.EName like ''%'+@ename+'%'''
    end
    set @sql=' order by a.EId offset (@pageindex-1)*pagesize rows fetch next @pagesize rows only'
    exec sp_executesql @sql,N'@pageindex int,@pagesize int',@pageindex,@pagesize
    exec sp_executesql @sqlcount,N'@totalcount int out',@totalcount out
    set @totalpage=CEILING(@totalcount/1.0/@pagesize)
end

 

上一篇:B - Shichikuji and Power Grid( 最小生成树 Kruskal算法)


下一篇:hdu3635 并查集