MySql存储过程的调试

Posted HelloHello233

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySql存储过程的调试相关的知识,希望对你有一定的参考价值。

写和调试存储过程比较好的工具是dbForge studio for mysql

  校验其中临时表字段是否符合要求,在存储过程中动态为临时表添加字段约束,或者写个游标,把数据迭代出来,一个个判断。当游标迭代时发现错误,可以手动执行一条错误的语句(如insert into notExists values(1)),来终止存储过程。

  但是以上加约束或者游标遍历,出现错误时,在Java调用端仅仅提示xxx not exists 或者 xxx should not be null 等错误,并没有提供具体在存储过程中哪一行报的错误。

  当存储过程中多个地方对同一个表进行操作,执行后发现这个表数据异常,难以发现是哪里的操作导致的数据异常,只能从上到下轮流对多个地方加约束,多次执行存储过程来排查。

  其中印象较深刻的是表中的某个字段,在存储过程中并没有对它进行写入,而且表结构上设置了默认值,执行存储过程后总是为null,手动为这个字段插入值也还是为null,问题没能排查出来,只能折中地多执行一行update将null更新为默认值

 

以上是关于MySql存储过程的调试的主要内容,如果未能解决你的问题,请参考以下文章

Mysql调试存储过程最简单的方法

mysql存储过程之游标遍历数据表

MySQL中的存储过程和函数使用详解

mysql 存储过程

oracle10g的存储过程大概怎么调试

mysql存储过程group_concat为游标中的选择返回null