zoukankan      html  css  js  c++  java
  • 转,sql的select top 变量

    /*
    * 说明:在sql server 2005中,由于支持select top 变量,因此,不需要用动态sql来实现
    *        而在sql server 2000中,不支持select top 变量,因此,必须用动态sql
    */

    declare @pageSize int--页数大小
    declare @pageIndex int--页码
    set @pageSize = 10
    set @pageIndex = 10

    --一、在sql server 2005中:
    select * from (
         select top (@pageSize) name
         from (
           select top (@pageSize*@pageIndex) name from sysobjects order by name
           ) as a
        order by name desc
        ) as b
    order by name

    --二、在sql server 2000中:
    declare @sqlStr varchar(1000)--动态sql
    set @sqlStr = 'select * from (' +
         ' select top ' +convert(varchar,@pageSize) +' name' +
         ' from (' +
           ' select top ' +convert(varchar,@pageSize*@pageIndex) +' name from sysobjects order by name' +
           ' ) as a' +
        ' order by name desc' +
        ' ) as b' +
    ' order by name'

    exec(@sqlStr)

  • 相关阅读:
    若没有特殊说明,博文密码都是我的生日
    「考前日志」11.18
    「考前日志」11.17
    洛谷 P2018 消息传递
    「考前日志」11.16
    「考前日志」11.15
    「考前日志」11.14
    2020.11.13 “考试”
    「考前日志」11.13
    AcWing277 饼干
  • 原文地址:https://www.cnblogs.com/yyjj/p/2223920.html
Copyright © 2011-2022 走看看