SQL Server 存储过程if else细节

写一个简单的存储过程,简单的逻辑,简单的语句,如下

IF @TYPE = '1' BEGIN组

。。。(查询语句)

END

IF @TYPE = '2' 
BEGIN
。。。(查询语句)
END

ELSE BEGIN 
。。。(查询语句)
END

简单语句用mybatis调用该存储函数,type传值为‘1‘时报空指针错误,提示我参数设置错误

懵逼的检查着我的Mapper、dao、service,没有问题,但是传值‘1’就是不可以!就是报错!

好吧,我直接数据库运行这个存储函数,传值‘1’,崩溃的是,数据能完美的、顺顺利利的出来!

我X,这是什么鬼,然后懵逼的换了下各个if下面的语句,好吧,只要是‘1‘就是有问题~

查了度娘还以为是什么返回值的问题,但是我把原来1的位置的SQL放到其他下面还是可以出来的啊!

最后我重新排查了下语句,第二个if前面没else,但是从java的逻辑来说这样也可以吧,不过这是存储过程的话那还是把他加上吧!

IF @TYPE = '1' BEGIN组

。。。(查询语句)

END

ELSE IF @TYPE = '2' 
BEGIN
。。。(查询语句)
END

ELSE BEGIN 
。。。(查询语句)
END

然后,然后,然后他就好了。。。花了我两个小时排查的问题。。。他就好了,虽然很开心,但是很崩溃!!!!!

好的,就这样了,我去哭会儿

转载于:https://www.cnblogs.com/pqblog/p/10011905.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值