sybase存储过程问题

  • 来源: 互联网 作者: 若水   2008-03-19/10:40
  • 问: Sybase存储过程,为什么执行到这一句就不执行了 
    select @nSerialNo = serialno from schedule where phonenum= @strPhoneNum and type = @nType 
    if @@rowcount = 0 
    begin 
    ... 
    end 
    else 
    begin 
    ... 
    end 
    上面的select结果是空记录集,存储过程一执行到空记录集,就会返回?

    答:if exists(select @nSerialNo = serialno from schedule where phonenum= @strPhoneNum and type = @nType)这个语句的逻辑有点问题? 
    if exists 一般是用来确定是否存在类似的记录?你现在又要将存在的结果赋值?其实还不如写 if exists(select 1 from schedule where phonenum= @strPhoneNum and type = @nType) 
    确定是否存在这样的记录,在执行相应的处

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多