zoukankan      html  css  js  c++  java
  • SQL2000中 Top后不能更变量的解决方法

    在SQL2000中,Select Top后是不能直接更变量的,例如:

    select top @i * from table


    解决方法有两种:
    第一种:

    declare @i int,@sql varchar(100)
    set @i = 100
    set @sql = 'select top ' + cast(@i as varchar+ ' * from table'
    exec(@sql)

    通常我们可以使用这种方法来操作,但有时却不行,比如循环读取记录时(以下这么写会出错)

        declare @i int,@sql varchar(100)
        
    set @i = 100
        
    set @sql = 'select top ' + cast(@i as varchar+ ' * from table'
        
    DECLARE rs CURSOR  LOCAL SCROLL FOR
        
    --设置数据源
        exec(@sql)  
        
    OPEN rs

    第二种:使用set rowcount = 100来实现

        set rowcount 100      --设置读取的条数
        DECLARE rs CURSOR  LOCAL SCROLL FOR
        
    --设置数据源
        select * from table
        
    OPEN rs

        
    set rowcount 0        --恢复读取的条数

  • 相关阅读:
    了解线程和进程
    常见的性能优化方法
    前端构建工具gulp入门教程
    在JS数组指定位置插入元素
    简单对象List自定义属性排序
    js数组排序 reverse()和sort()方法的使用
    JQuery Plugin 开发
    console.dir() 与 console.dirxml() 的使用
    随机生成10-100之间的数
    CSS3 transition过渡
  • 原文地址:https://www.cnblogs.com/yeagen/p/1397784.html
Copyright © 2011-2022 走看看