zoukankan      html  css  js  c++  java
  • SQLServer 通用分页存储过程

    /*

    declare @n int

    exec sp_fenye 'select * from baseinfo','id desc','id',3,2,@count=@n output

    select @n

    */

    -- =============================================

    -- Author: shipeng.wang

    -- Create date: 2010-04-27

    -- Description: 分页存储过程(对结果集进行分页)

    -- =============================================

    create proc [dbo].[sp_fenye]

    @sql varchar(2000), --要分页的结果集

    @orders varchar(50),--要排序的字段(dt,)

    @keyfield varchar(20),

    @pageindex int,

    @pagesize int,

    @count int output

    as

    if(@pageindex=1)

    begin

    --获取到总记录数量

    declare @nsql nvarchar(4000)

    set @nsql='select @ct=count(*) from ('+@sql+')a'

    exec sp_executesql @nsql,N'@ct int output',@count output

    end

    --获取当前页数据

    set @nsql='select top '+ltrim(@pagesize)+' * from ('+@sql+')a

    where '+@keyfield+' not in (select top '+ltrim((@pageindex-1)*@pagesize)+' '+@keyfield+' from ('+@sql+')a order by '+@orders+')

    order by '+@orders

    exec(@nsql)

  • 相关阅读:
    day_5.25py
    day_5.24py
    day_5.22 py
    numpy模块 03
    requests 模块例题示范
    logging模块
    typing 模块
    hashlib模块和hmac模块
    random模块
    time和datetime模块
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2458207.html
Copyright © 2011-2022 走看看