Вернуть ошибку из запроса перед завершением

У меня есть следующий скрипт MySQL:

start transaction;
set autocommit = 0;
call RollbackRemove(1, 10);
call RollbackRemove(2, 5000);
commit;

и процедура:

create procedure RollbackRemove(a INT, b NUMERIC(8, 0))
begin
declare ret bool;
select Remove(a, b) into ret;
if not ret then
rollback;
end if;
end //

Он пытается удалить определенную сумму из каждого элемента, и, если одно удаление не удается, транзакция откатывается (внутри процедуры). Однако я заметил, что даже после вызова отката скрипт продолжает выполняться, но это нежелательно. Также я хотел бы иметь возможность сообщить об ошибке (это будет вызываться из php). Я искал механизм, который закончил бы сценарий раньше, что-то вроде return на других языках, но ничего не нашел. Что я должен использовать в такой ситуации?

1

Решение

Может быть, вы можете использовать СИГНАЛ поднять ошибку.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]