Я хочу знать, является ли хранимая процедура в MySQL чем-то большим, чем последовательность операторов SQL с некоторыми ограничениями (http://dev.mysql.com/doc/refman/5.7/en/stored-program-restrictions.html).Выполнение потока, транзакций и хранимой процедуры MySQL
Есть что-то особенное с транзакциями, DML на таблицах InnoDB и т. Д.?
Насколько я знаю, это не так, потому что я не смог найти противоположного.
Edit:
потока исполнения тоже интересный вопрос.
Предположим, у меня есть простая процедура следующий и автокоммит выключен:
CREATE PROCEDURE someproc()
-> BEGIN
-> -- exec stmt1
-> -- exec stmt2 <--- assume it fails!
-> -- exec stmt3
-> END//
Что произойдет, если stmt2 терпит неудачу во время выполнения по какой-то причине?
По моему мнению, изменения stmt2 будут отменены, но изменения stmt1 не будут выполнены, и выполнение процедуры будет остановлено, поэтому stmt3 не будет выполняться.
У вас должна быть причина, почему вы спрашиваете об этом. Это может помочь, если вы сообщите нам, почему вы после этой информации, здесь, похоже, проблема XY. –