У меня есть серия из 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 вставок работают, но иногда они не работают.
В последнем вызове хранимой процедуры, первые 2 вставки (в TABLE1 и TABLE2) и последние 4 вставки (TABLE 13-16)работать, но не вставки в Таблицу 3 - 12.
Можете ли вы объяснить, почему?Не может быть, потому что я использую ту же переменную / дескриптор command1 и stmt1?