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        --恢复读取的条数

  • 相关阅读:
    sscanf()
    分享:Python字符编码详解
    STL priority_queue使用
    google maps 控件controller
    Google Maps Overlays叠加层
    java JDBC配置和使用
    转:总结java的interface和abstract class
    java 多线程 之 生产者和消费者
    一个简单的marker和infowindow
    java Nested Classes
  • 原文地址:https://www.cnblogs.com/yeagen/p/1397784.html
Copyright © 2011-2022 走看看