sybase存储过程问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-07 17:53:20922ブラウズ

问: 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) 
确定是否存在这样的记录,在执行相应的处理。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。