Heim >Datenbank >MySQL-Tutorial >sybase存储过程问题

sybase存储过程问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:53:20915Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn