|
Тема |
Re: така де [re: Dakota] |
|
Автор |
Aaron (charming) |
|
Публикувано | 07.12.09 20:49 |
|
|
Иначе не смятам, че транзакциите ме освобождават от съответното задължение, но очаквам СУБД да прави все пак нещо самичка, най-малкото да знае състоянието на собствената си транзакция
Ами да, тя ще прави точно това, което се очаква от нея, но само и единствено тогава, когато потребителя не й се бърка в работата.
При положение, че потребителя е поискал commit то системата се съобразява с желанието на потребителя.
Ако искаш или вскичко или нищо в този случай имаш 2 варианта:
1. Остави системата сама да реши дали да commit-не транзакцията или не в зависимост от грешките като не й задаваш COMMIT.
2. Проверявай всеки statement за грешка и ако съществува такава, при която ти си решил, че трябва да направиш rollback - намеси се и кажи на системата да rollback-не всичко, ако ли не - то и дай инструкция за commit.
П.С В твоя случай няма разлика от това, че още в началото си задал autocommit=0 защото:
autocommit=0
--some statement that is valid
--some staement tha isinvalid
commit
... е еквивалентно на следното:
autocommit=1
--some statement that is valid
--some staement tha is invalid
Редактирано от Aaron на 07.12.09 20:52.
|
| |
|
|
|