sql server 2005 --消息 0,级别 11,状态 0,第 0 行

     昨天在帮同事看一下SQL SERVER的存储过程问题,虽然我平时做ORACLE更多点,但是,找问题的方法都是相通的。
     这个有问题的存储过程是一个400行左右的存储过程。一开始就发现只到执行到RETURE就会报错,但是编译的时候是不会报错的。
      错误如下:消息 0,级别 11,状态 0,第 0 行
当前命令发生了严重错误。应放弃任何可能产生的结果。
      后来经过测试发现,这个RETURN是放在一个事务里的,才导致了这个问题。要解决这个问题其实很简单,因为RETURN是完全不用放在事务里的,只要调整程序的编写顺序。第二种方式就是用一个全局变量并主动报错(如:set @num = 1/0)让程序跳到CATCH块中再RETURN 相应的值。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23065269/viewspace-709395/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23065269/viewspace-709395/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值