22,299
社区成员




一个简单的存储过程,如下
IF @TYPE = '1' BEGIN组
。。。(查询语句)
END
IF @TYPE = '2'
BEGIN
。。。(查询语句)
END
ELSE BEGIN
。。。(查询语句)
END
简单语句用mybatis调用该存储函数,type传值为‘1‘时报空指针错误,提示我参数设置错误
检查Mapper、dao、service,没有问题,但是传值‘1’就是不可以!就是报错!
直接数据库运行这个存储函数,传值‘1’,数据能完美的、顺顺利利的出来!
换了下各个if下面的语句,只要是‘1‘就是有问题~
重新排查了下语句,第二个if前面没else,但是从java的逻辑来说这样也可以吧,不过这是存储过程的话那还是把他加上吧!
IF @TYPE = '1' BEGIN组
。。。(查询语句)
END
ELSE IF @TYPE = '2'
BEGIN
。。。(查询语句)
END
ELSE BEGIN
。。。(查询语句)
END
然后,然后,然后他就好了。。。
这是什么机理?
还是要规范化编程