![]() |
|
Модераторы: skyboy |
![]()
|
|
| AndyMur |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 22.3.2008 Где: Russia Репутация: нет Всего: нет |
Здравствуйте, замучал следующий вопрос.
Судя по здравому смыслу, ХП в MySQL (и вообще где бы то ни было) выполняется в рамках одной транзакции, то есть если у нас в ХП выполнено несколько SQL-операторов, то при успехе и автокоммите они попадут в БД, иначе произойдет откат. Суть самой проблемы в том, что имеем в ХП следующие операторы:
Для тамблицы с полями id (PK, BIGINT), sum (INT) Причем второй оператор спотыкается из-за DUPLICATED KEYS. Так вот если выполнять код
Все прекрасно, однако если я хочу вызывать ХП без явного указания начала транзакции, то несмотря на неуспех insert'а, первый оператор срабатывает и изменяет сумму. Не очень хочется делать старт транзакции, ведь она сама по себе проваливается и не должна по идее требовать коммит/роллбак, при том что похожие ХП на Firebird либо выполняются полностью и происходит автокоммит либо отбрасываются. Спасибо за ответы. |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |