zoukankan      html  css  js  c++  java
  • 读取表内容 分页返回其读取的值

     

     


    CREATE PROCEDURE DS_GetDataList
     (
      @tblName varchar(255) = '', -- 表名
      @strGetFields varchar(1000) = '*', -- 需要返回的列
      @fldName varchar(255) = 'ReleaseDate', -- 排序的字段名
      @PageSize int = 10, -- 页尺寸
      @PageIndex int = 1, -- 页码
      @RecordCount int output, --输出记录总数
      @OrderType bit = 1, -- 设置排序类型, 非 0 值则降序
      @strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where)
     )
    AS
     declare @strSQL varchar(5000) -- 主语句
     declare @CountSQL nvarchar(4000) -- 语句
     declare @strTmp varchar(1000) -- 临时变量
     declare @strOrder varchar(1000) -- 排序类型

     if @strWhere !=''
      set @CountSQL='select @RecordCount=count(*) from  [' + @tblName + '] where ' + @strWhere +''
     else
      set @CountSQL='select @RecordCount=count(*) from  [' + @tblName + '] '
     
     exec sp_executesql @CountSQL, N'@RecordCount int out ',@RecordCount out

     if @OrderType != 0
      begin
       set @strTmp = '<(select min'
       set @strOrder = ' order by '+ @fldName +' desc'
      end
     else
      begin
       set @strTmp = '>(select max'
       set @strOrder = ' order by '+ @fldName +' asc'
      end
     
     if @PageIndex = 1
      begin
       if @strWhere != ''
        set @strSQL = 'select top '+ str(@PageSize) +' '+ @strGetFields +' from ['+ @tblName +'] where ('+ @strWhere +') '+ @strOrder
       else
        set @strSQL = 'select top '+ str(@PageSize) +' '+ @strGetFields +' from ['+ @tblName +'] '+ @strOrder
      end
     else
      begin
       set @strSQL = 'select top '+ str(@PageSize) +' '+ @strGetFields +' from ['+ @tblName +'] where '+ @fldName +''+ @strTmp +'('+ @fldName +') from (select top '+ str((@PageIndex-1)*@PageSize) +' '+ @fldName +' from ['+ @tblName +']'+ @strOrder +') as tblTmp)'+ @strOrder

       if @strWhere != ''
        set @strSQL = 'select top '+ str(@PageSize) +' '+ @strGetFields +' from ['+ @tblName +'] where '+ @fldName +''+ @strTmp +'('+ @fldName +') from (select top '+ str((@PageIndex-1)*@PageSize) +' '+ @fldName +' from ['+ @tblName +'] where ('+ @strWhere +') '+ @strOrder +') as tblTmp) and '+ @strWhere +' '+ @strOrder
      end

     exec (@strSQL)


    GO

  • 相关阅读:
    自学Zabbix3.6.4-触发器triggers dependencies依赖关系
    自学Zabbix3.6.3-触发器triggers expression表达式
    TSLint提示错误
    angular4.0 配置打包路径以及资源文件404问题
    angular4.0配置本机IP访问项目
    angular4.0如何引入外部插件2:declare方案
    angular4.0如何引入外部插件1:import方案
    angular4.0中form表单双向数据绑定正确姿势
    angular4.0单个标签不能同时使用ngFor和ngIf
    angular4.0使用JSONP数据请求
  • 原文地址:https://www.cnblogs.com/zyosingan/p/1015347.html
Copyright © 2011-2022 走看看