|
|
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
Подскажите, хочу в ХП стартовать транзакцию, провести несколько операторов апдейта, потом если хоть один завершился неудачей, откатить. Возможно такое в процедуре? Как это в дельфи делать я знаю но хотелось бы сделать это здесь, а не тащить все на клиент, вернуть только Result процедуры 0 или 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 14:20:57 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
Если у тебя FB 1.5 смотри в сторону Savepoints. В IB 7 тоже вроде есть, я за ним не слежу особо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 14:28:01 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
2Лентяй IB6.0 По видимому в ИБэйсе нет конструкции типа: try .. except .. end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 15:21:46 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
Нельзя. Никак. Вообще. Толко с клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 15:22:27 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
Luinil2Лентяй IB6.0 По видимому в ИБэйсе нет конструкции типа: try .. except .. end; 1. Ошибаешься. 2. Транзакции все равно запускаются на клиенте! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 15:23:41 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
Luinil2Лентяй IB6.0 По видимому в ИБэйсе нет конструкции типа: try .. except .. end; Ишши - должон быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 15:26:34 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
LuinilПодскажите, хочу в ХП стартовать транзакцию, провести несколько операторов апдейта, потом если хоть один завершился неудачей, откатить. Транзакции стартовать и откатывать не надо. Сервер все отменит за тебя. С учетом некоторых внутренних нюансов, ХП должна выглядеть примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 16:03:37 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
dimitr LuinilПодскажите, хочу в ХП стартовать транзакцию, провести несколько операторов апдейта, потом если хоть один завершился неудачей, откатить. Транзакции стартовать и откатывать не надо. Сервер все отменит за тебя. С учетом некоторых внутренних нюансов, ХП должна выглядеть примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Хорошая идея. Примерно так я себе это и представлял. Попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 17:09:53 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
to dimitr: ему же откатить надо, а ты закатить предлагаешь ;) LuinilПодскажите, хочу в ХП стартовать транзакцию, провести несколько операторов апдейта, потом если хоть один завершился неудачей, откатить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 17:19:15 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
По видимому, либо тема попалась интересная)... Либо e Hаpодная пpимета: Если пpогpаммист в pабочее вpемя игpает, значит - либо у него мало pаботы и большая заpплата, либо у него много pаботы и маленькая заpплата. ...Я решил откат делать на клиенте. А собственно почему бы и нет. Какая нафиг разница. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 09:49:38 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 12:58:28 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
Dik76 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Речь в основном шла о том чтобы отловить как-нибудь исключения, то есть сбои при выполнении апдейт-операторов, а уж потом потвердить или отменить - в клиенте - неважно как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 13:26:41 |
|
||
|
Транзакция в процедуре
|
|||
|---|---|---|---|
|
#18+
Dik76а что при таком коде произойдет автоматический commit? что то не понял я эту конструкцию Произойдет отмена всех действий в первом BEGIN..END блоке в случае ошибки в любом из них, не больше и не меньше. А коммитить потом или роллбечить - дело приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 13:48:29 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=457&tid=1578049]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 379ms |

| 0 / 0 |
