sybase存储过程问题

日期: 2008-06-22 作者:佚名 来源:TechTarget中国

  问: 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) 


  确定是否存在这样的记录,在执行相应的处理。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

佚名
佚名

相关推荐

  • TT百科:存储过程

    存储的过程可以访问或修改数据库中的数据,但并不绑定到特定的数据库或对象,这提供了许多优点。

  • 趣解数据库市场竞争格局

    数据库咨询顾问Curt Monash对数据库技术的发展格局进行了趣味解读,包括如Oracle、IBM、Sybase鞥厂商之间的竞争关系。

  • 有效的MySQL备份与恢复

    如果您接手了一个MySQL生产系统,但不确定它是否运行了MySQL备份策略,这时需要做哪些保障措施呢?

  • Oracle用户:Exadata很强大但并非完美

    Oracle Exadata自从两年前V2推出以来,都沉浸在一片溢美之词之中。然而,在由Enkitec举行的两天Exadata大会中,第一天就有人挑起了它的毛病。