存储过程赋值问题
-
mysql 存储过程 经常需要将查询的某个字段值赋给变量,这种方法网络很多请百度。。
-
但如果将null 值赋给 变量,就会出现无法把控的问题:
例如: 在遍历游标的循环中,将null 值赋给 变量,那么会直接跳出循环,且存储过程不报错 -
解决方法使用 IFNULL 如下:(这种方法只是解决库中有这条数据但emp_no 为空)
select IFNULL(emp_no,'01') from employee where id ='6efdeed79c964740bcc8430a78422179';
问题:查询表中的数据为空设置为自定义值,但是如果无记录,使用IFNULL也非返回无记录。
实例:
解决方法:使用max() 或者 min() 方法完美解决,如图:
4. mysql 存储过程遍历游标中,如果给变量赋值为空造成循环跳出,如图:
项目中有数据丢失,只是看存储过程逻辑,没有任何问题。。。。不知不觉一晚上的时间就没了。。。
当静下心一步步测试,发现注释掉3上面两行,完美运行,不说了一把辛酸泪哎。。。
希望能帮到各位农友,欢迎留言指正。。。
资料
请关注微信公众号(回复以下关键子),免费领取相关资料;掌握了解相关技术栈
区块链;
go语言;
pdf编辑器;
设计必备软件