mysql 触发器、存储过程调试

触发器和存储过程的调试始终都是一个大问题,现有一个较简洁的方法,就是创建一张temp表,在相应的点网temp表插入相应的数据,通过temp表中的数据就可以知道问题大概在什么地方。

create trigger traceProcess

AFTER INSERT ON traceinfo

FOR EACH ROW

BEGIN

DECLARE t_step INT;

DECLARE t_name VARCHAR(255);

DECLARE t_processid  INT;

DECLARE done int DEFAULT 0;

DECLARE productserialprocess cursor for (SELECT id, craftsname,step FROM processing where PRODUCTSERIALID = new.PRODUCTSERIALID);

DECLARE CONTINUE HANDLER FOR NOT found SET done = 1;

OPEN productserialprocess;

flag_while: while done=0 do

FETCH productserialprocess INTO t_processid, t_name, t_step;

  if done=1 then leave flag_while ; end if ;

insert into temp (content) values("loop DATA.");

  insert into temp (content) values(t_name);

INSERT INTO trace_process(TRACEID, PROCESSID, STEP,PROCESSNAME) values (new.id, t_processid, t_step,t_name);

END while flag_while;

CLOSE productserialprocess;

END

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容