zoukankan      html  css  js  c++  java
  • 分页存储过程(三)

    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS ON
    GO
    --名称:分页存储过程
    --使用示例 EXEC sp_PageIndex '*',' FROM StuSources ',2,10
    --注意
    --目前还没有对输入的参数进行严格的验证
    --默认为输入都是合法有效的

    ALTER PROC sp_PageIndex
    @sqlSelect varchar(800) --SELECT 后面 FROM 前面 的 字段 不用包含SELECT
    ,@sqlFrom varchar(800) --FROM 后面 的 字段 包含FROM
    ,@countPerPage int -- 每页数据行数
    ,@toPage int --要转到的页码
    AS
    BEGIN

    -- 根据每页数据行数 和 要转到的页码 得到 数据起止点
    Declare @start int
    Declare @end int

    set @end = @countPerPage * @toPage
    set @start = @countPerPage * (@toPage - 1) + 1


    -- 临时表名称 可随机命名
    Declare @tmpTable varchar(10)
    SET @tmpTable ='#tmp'

    Declare @sqlStr varchar(800)
    -- 创建数据源到临时表
    SELECT @sqlStr = 'SELECT Identity(int,1,1) AS RowIndex,'
    SELECT @sqlStr = @sqlStr + rtrim(@sqlSelect) + ' INTO '+ @tmpTable
    SELECT @sqlStr = @sqlStr + rtrim(@sqlFrom)
    -- 查询临时表 得到所需要的数据
    SELECT @sqlStr = @sqlStr + ' '+'SELECT '+ rtrim(@sqlSelect) +' FROM ' + @tmpTable
    SELECT @sqlStr = @sqlStr + ' WHERE RowIndex BETWEEN ' + Convert(char,@start) + " AND " + Convert(char,@end)
    -- 删除临时表
    SELECT @sqlStr = @sqlStr + ' '+'DROP TABLE '+@tmpTable
    EXEC (@sqlStr)
    END
    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS ON

  • 相关阅读:
    清除缓冲
    iOS 10 开发 相机相关的适配
    UIImagePickerControllerDelegate---ActionSheet---获得设备型号
    4,4s屏幕过渡页处理
    iOS小技巧3
    UIWebView中Html中用JS调用OC方法及OC执行JS代码
    删除本地文件
    NSArray倒序
    tableView和scrollView滚动起冲突
    在UIScrollView的delegate方法判断滚动快慢
  • 原文地址:https://www.cnblogs.com/weihengblogs/p/3580840.html
Copyright © 2011-2022 走看看