• 转,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)

  • 相关阅读:
    抽象工厂模式
    工厂方法模式
    简单工厂模式
    多例模式
    深入分析 Java 中的中文编码问题
    PipedInputStream和PipedOutputStream详解
    单例模式
    Java IO和NIO文章目录
    wsdlLocation可以写成项目的相对路劲吗
    ssh框架配置事务管理器
  • 原文地址:https://www.cnblogs.com/yyjj/p/2223920.html
Copyright © 2020-2023  润新知