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 
    

      

  • 相关阅读:
    Svn如何使用,有什么作用?
    Unity脚本基础Day02
    unity设计模式-----责任链模式
    LitJson ---json的创建和解析
    Mesh编程——三角形,多边形,正方体,园形,圆环
    unity基础逻辑题
    unity——UI拖拽实现拼图
    unity:倒计时
    UGUI Toggle的监听事件绑定
    UnityGUI系统之InputField
  • 原文地址:https://www.cnblogs.com/jara/p/7809989.html
Copyright © 2011-2022 走看看