Я использую CodeIgniter 2 с SQL Anywhere (у меня есть собственный класс для обработки соединения с SAP DLL).
У меня проблема с транзакцией, содержащей много запросов.
Одним из них является ошибка (возвращаемая триггером при попытке обновить таблицу): в этом случае я хочу, чтобы транзакция была откатана в конце процедуры, как вы можете видеть ниже.
$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...'); //This raises an error
$this->db->trans_complete(); //A rollback is done, and should cancel the first query
Я пытался изменить следующие параметры:
- цепочка => Выкл.
- continue_after_raiserror => Вкл.
- on_tsql_error => Продолжить
Что странно, так это то, что я записываю свои запросы: выполнение их вручную в Interactive SQL работает хорошо!
Похоже, что возникшая ошибка прерывает транзакцию.
Может ли кто-нибудь мне помочь?
Спасибо