zoukankan      html  css  js  c++  java
  • Sql Server存储过程分页

    --分页存储过程
    if OBJECT_ID('pro_Show','P') is not null
    drop proc pro_Show
    go
    create proc pro_Show
    (
    @_Fileds varchar(20), --表字段
    @_Table varchar(20), --表名
    @_Filter varchar(20), --查询条件
    @_Oderby varchar(20), --排序字段
    @_PageIndex int, --当前页数
    @_PageSize int, --页面记录数
    @_Total int output --总记录数
    )
    as
    declare @startrow int , @endrow int --定义开始行 结束行
    set @startrow = (@_PageIndex-1)*@_PageSize +1 --开始行赋值
    set @endrow = @_PageIndex*@_PageSize --结束行赋值
    declare @sql1 nvarchar(3000),@sql2 nvarchar(3000)--定义分页SQL字符串

    --select * from (select ROW_NUMBER() over(order by Id) as rownum ,* from MyService where Name = 'a' ) p
    --where rownum between @startrow and @endrow select @_Total = count(*) from MyService where Name = 'a'

    set @sql1 = 'select * from (select ROW_NUMBER() over(order by '+@_Oderby+') as rownum ,'+@_Fileds+' from '+@_Table+' where '+@_Filter+' ) p
    where p.rownum between '+convert(varchar,@startrow)+' and '+convert(varchar,@endrow)+'
    select @_Total = count(*) from '+@_Table+' where '+@_Filter+'' --拼写分页SQL

    set @sql2 = '@_Total int output' --总记录数定义字符串

    exec SP_ExecuteSQL @sql1,@sql2,@_Total output --执行SQL
    print @sql1 --打印SQL1
    print @sql2 --打印SQL2
    --调用存储过程
    declare @Count int
    exec pro_Show '*','MyService','1=1','Id',1,2,@Count output
    select @Count

  • 相关阅读:
    java-多个数的和
    大道至简第二章
    大道至简第一章感悟上
    Tools
    LruCache
    Fragment
    科普指纹识别
    Python使用MySQL数据库
    Eclipse中添加PyDev插件
    UniversalAndroidImageLoader出现异常:ImageLoader: Unable to resolve host "https": No address associated with host
  • 原文地址:https://www.cnblogs.com/wypd/p/13408414.html
Copyright © 2011-2022 走看看