|
подскажите, как работает savepoint в jdbc ?
|
|||
---|---|---|---|
#18+
нужно примерно такое есть цикл в нем создать savepoint далее обработка данных если ошибка откат на этот savepoint вопрос на следующей итерации цикла что ? создание того же savepoint сработает или упадет ? если второе, как надо, создавать новый каждый раз или что ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 08:30 |
|
подскажите, как работает savepoint в jdbc ?
|
|||
---|---|---|---|
#18+
grok, Это уже не java и трехзвенка. Это уже клиент сервер. Когда вся бл в бд и длинные транзакции. По 8 часов или по сеансу. Вам в ветку конкретной бд. А java просто передаст команду серверу. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 08:37 |
|
подскажите, как работает savepoint в jdbc ?
|
|||
---|---|---|---|
#18+
grok, У вас же savepoint создаётся при обработке какой-то записи, в следующем цикле вы будете обрабатывать уже другую запись? Всё зависит от того на какую "точку" вы хотите вернуться. Ну, и да, как уже верно замечено зависит от СУБД, может она вообще не умеет это. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 11:17 |
|
подскажите, как работает savepoint в jdbc ?
|
|||
---|---|---|---|
#18+
Garrick grok, У вас же savepoint создаётся при обработке какой-то записи, в следующем цикле вы будете обрабатывать уже другую запись? Всё зависит от того на какую "точку" вы хотите вернуться. Ну, и да, как уже верно замечено зависит от СУБД, может она вообще не умеет это. БД оракл в следующей итерации конечно другая запись на PLSQL было бы так, и это работает Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
а как на Java хз мне к сожалению надо на Java по ряду причин ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 12:15 |
|
подскажите, как работает savepoint в jdbc ?
|
|||
---|---|---|---|
#18+
grok, Запусти это анонимным блоком jdbc ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 12:16 |
|
подскажите, как работает savepoint в jdbc ?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp grok, Запусти это анонимным блоком jdbc к сожалению не выйдет, т.к. реальный код сильно сложнее и в нем не только работа в БД ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 12:27 |
|
подскажите, как работает savepoint в jdbc ?
|
|||
---|---|---|---|
#18+
grok, Конкретнее. Можно и хранимку сделать SetMyPoint ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 12:38 |
|
подскажите, как работает savepoint в jdbc ?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Можно и хранимку сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 13:27 |
|
подскажите, как работает savepoint в jdbc ?
|
|||
---|---|---|---|
#18+
grok, Для работы с savepoint в JDBC есть методы: https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html#setSavepoint() https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html#setSavepoint(java.lang.String) https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html#releaseSavepoint(java.sql.Savepoint) https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html#rollback(java.sql.Savepoint) Важно, что перед работой с ними необходимо отключить autocommit: https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html#setAutoCommit(boolean) Конкретно в вашем случае скорее всего сработает примерно такой вариант: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 14:30 |
|
|
start [/forum/topic.php?fid=59&msg=40030084&tid=2120571]: |
0ms |
get settings: |
16ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
120ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
254ms |
get tp. blocked users: |
0ms |
others: | 277ms |
total: | 678ms |
0 / 0 |