Откат транзакций в многоуровневом попробуйте поймать код

У меня есть простой код, где я использую ниже шаги в блоке try catch

  1. Я вставляю / обновляю некоторые записи базы данных, после обновления записи я вызываю функцию, которая в свою очередь.

  2. Обновите несколько записей в базе данных и зафиксируйте изменения. Как только функция завершает выполнение, управление возвращается к обычному режиму try catch, где я снова.

  3. Сделайте некоторые обновления в базе данных. Если предположить, что в (шаг 3) произошла какая-то ошибка, я могу просто откатить (шаг 1) изменения, потому что они все еще не зафиксированы, а как откатить (шаг 2) изменения, которые уже зафиксированы.

Код:

 function modifyRecord(num) {
try {
//do something
UPDATE ADMIN SET status = 'active' WHERE id=num;
//do something
COMMIT;
}catch(Exception $e) {
ROLLBACK;
}
}

try {
//do something
INSERT INTO USER .......
modifyRecord();
//do something
COMMIT;
}catch(Exception $e) {
ROLLBACK;
}

Может кто-нибудь помочь мне с этим?

0

Решение

Задача ещё не решена.

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

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

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