作者:鱼db在海 | 来源:互联网 | 2018-07-12 22:25
问:SYBASE存储过程,为什么执行到这一句就不执行了select@nSerialNoserialnofromschedulewherephonenum@strPhoneNumandtype@nTypeif@@rowcount0begin...endelsebegin...end上面的select结果是空记录集,存储过程一执行到空记
问: SYBASE存储过程,为什么执行到这一句就不执行了 select @nSerialNo = serialno from schedule where phOnenum= @strPhoneNum and type = @nType if @@rowcount = 0 begin ... end else begin ... end 上面的select结果是空记录集,存储过程一执行到空记
问: 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)
确定是否存在这样的记录,在执行相应的处理。