zoukankan      html  css  js  c++  java
  • 分页SQL语句

    CREATE PROC [dbo].[Procpageselect] @table     NVARCHAR(max),-- 输入参数,表名
                                       @columns   NVARCHAR(max),-- 输入参数,要返回的列
                                       @rows      INT,-- 输入参数,每页显示的数据量
                                       @page      INT,-- 输入参数,当前页面
                                       @orderBy   NVARCHAR(max),-- 输入参数,数据按什么字段排序,后面加上desc表示倒序
                                       @condition NVARCHAR(max),-- 输入参数,sql形式的筛选查询条件
                                       @total     INT output -- 输出参数,满足上诉查询条件的数据总数
    AS
      BEGIN
          DECLARE @start INT -- 变量,获取的当页数据的起始位置
          DECLARE @end INT -- 变量,获取的当页数据的结束位置
          DECLARE @sql NVARCHAR(max) -- 变量,保存动态生成的sql语句
    
          IF @condition = ''
              OR @condition IS NULL
            BEGIN
                SET @condition = '1=1'
            END
    
          SET @sql = 'select @count = COUNT(*) from ' + @table
                     + ' where ' + @condition
    
          EXEC Sp_executesql
            @sql,
            N'@count int output',
            @total output
    
          --print(@total)
          SET @start = @rows * ( @page - 1 )
          SET @end = @rows * @page
          SET @sql = 'with tmp as (select ROW_NUMBER() over(order by '
                     + @orderBy + ') as [no], ' + @columns
                     + ' from (select * from ' + @table + ' where '
                     + @condition
                     + ') as a) select * from tmp where [no] > '
                     + Ltrim(Str(@start)) + ' and [no] <= '
                     + Ltrim(Str(@end))
    
          --print(@sql)
          EXEC(@sql)
      END 
    

      

  • 相关阅读:
    [Codeforces 140C] New Year Snowmen
    [Codeforces Round511C] Enlarge GCD
    [BZOJ 1251] 序列终结者
    [NOIP 2016] 愤怒的小鸟
    [POJ 1860] Currency Exchange
    [ZJOI 2006] 书架
    [NOIP 2010] 引入入城
    [NOI 2014] 起床困难综合征
    用C语言实现中文到unicode码的转换
    strdup与strndup
  • 原文地址:https://www.cnblogs.com/jara/p/7809989.html
Copyright © 2011-2022 走看看