我有一系列16个PREPARE,EXECUTE和DEALLOCATE语句(在存储过程中),每个都将行插入一个不同的表(表1到表16) . 例如:
SET @Command1 = CONCAT("insert into TABLE1" , ...etc.. );
PREPARE stmt1 FROM @Command1 ;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
SET @Command1 = CONCAT("insert into TABLE2" , ...etc.. );
PREPARE stmt1 FROM @Command1 ;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
.
.
.
SET @Command1 = CONCAT("insert into TABLE16" , ...etc.. );
PREPARE stmt1 FROM @Command1 ;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
当我执行存储过程时,INSERT间歇性地工作 . 有时候所有的16个插件都可以工作,但有时却没有 .
在存储过程的最后一个CALL中,前两个插入(进入TABLE1和TABLE2)和后四个插入(表13到16)有效,但不是表3到表12中的插入 .
你能解释一下原因吗?不能因为我使用相同的变量/句柄command1和stmt1?