如果没有记录:@@fetch_status=-1

解决方案 »

  1.   


    if @@Fetch_Status=0
    不是没有数据吧。
      

  2.   

    知道为-1,
    所以才奇怪,为什么没有执行"print '表中无数据!';"这句话呢?
      

  3.   

    我试了没问题。
    begin 
    declare swim cursor        --声明游标swim 
    for select * from aa 
    open swim 
    fetch next from swim        --取数据(desk表为空) 
    --select @@fetch_status
    if @@fetch_status=0 
    begin 
    print '表中有数据...'; 
    close swim; 
    deallocate swim; 
    end 
    else 
    begin 
    print '表中无数据!'; 
    close swim; 
    deallocate swim; 
    end 
    end 
    /*
    aa          bb                                                 
    ----------- -------------------------------------------------- (所影响的行数为 0 行)表中无数据!*/
      

  4.   


    @@Fetch_Status=0
    说明有数据
    @@Fetch_Status=-1
    没有数据
      

  5.   

    begin 
    declare swim cursor        --声明游标swim 
    for select * from aa 
    open swim 
    fetch next from swim        --取数据(desk表为空) 
    if @@fetch_status=0 
    begin 
    print '表中有数据...'; 
    close swim; 
    deallocate swim; 
    end 
    else 
    begin 
    print  @@fetch_status
    print '表中无数据!'; 
    close swim; 
    deallocate swim; 
    end 
    end 
    /*
    aa          bb                                                 
    ----------- -------------------------------------------------- (所影响的行数为 0 行)-1
    表中无数据!
    */