Выполнение хранимой процедуры в MySQL это одна транзакция?
Выполнение хранимой процедуры в MySQL это одна транзакция? Иначе говоря, может ли кто-то по ходу выполнения процедуры изменить данные в таблицах, с которыми она работает? Нужно ли внутри процедуры делать LOCK TABLE?
Для правильного вопроса надо знать половину ответа
Нет, выполнение хранимой процедуры - не атомарная операция.
Транзакции (BEGIN/COMMIT/ROLLBACK) в процедуре использовать можно, блокировки таблиц (LOCK TABLE) - нельзя.