|
|
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Добрый день. Помогите пожалуйста. В хранимой процедуре не работает commit. update table1 set field1=1; commit; В редакторе SQL все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 11:47 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Eleon1, У вас большой пробел в понимании сути транзакций. Подтверждение или отмена транзакций производится клиентом, и в процедуре быть не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 11:51 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Eleon1Помогите пожалуйста. http://www.firebirdsql.org/file/documentation/reference_manuals/Firebird-Language-Reference-Russian.pdf Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 11:53 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, спасибо за хоршую книгу. В хранимой процедуре также не разрешается делать комментарии на русском языке, только в транслитерации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:20 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Eleon1В хранимой процедуре также не разрешается делать комментарии на русском языке, только в транслитерации. Кто сказал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:20 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
WildSery, а commit retaining ? ну или хотя бы savepoint ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:21 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
WildSery, а update нельзя разве завершить commit. Как тогда подтвердить транзакцию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:21 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
wadman, при компиляции выдает ошибку и все русские комментарии приходится менять на транслитерацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:22 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Hello, Eleon1! You wrote on 7 ноября 2014 г. 12:24:01: Eleon1> wadman, при компиляции выдает ошибку и все русские комментарии > приходится менять на транслитерацию. 1. неправильный инструмент разработки. 2. неправильный чарсет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:25 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Eleon1, процедура сама работает внутри транзакции. замершать транзакцию изнутри - примерно то же самое, что выворачивать себя наизнанку. Но *могут* сработать (или не сработать - читайте документацию или пробуйте) COMMIT RETAINING SAVEPOINT AUTONOMOUS TRANSACTION ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:25 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Eleon1при компиляции выдает ошибку какую ошибку? Eleon1Как тогда подтвердить транзакцию? зачем вам в процедуре "подтверждать" транзакцию, если вы ее там не начинали? Вам же сказали, на клиенте транзакция стартует, и на клиенте завершается по commit или rollback. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:26 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
AriochEleon1, Но *могут* сработать (или не сработать - читайте документацию или пробуйте) COMMIT RETAINING - не может SAVEPOINT - точки сохранения только неявные, напрямую не объявляются AUTONOMOUS TRANSACTION - это может ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:44 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Eleon1при компиляции выдает ошибку и все русские комментарии приходится менять на транслитерацию. FAQ раз FAQ два Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:55 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, спасибо за помощь. Так работает. IN AUTONOMOUS TRANSACTION DO BEGIN update table1 set State=31 where State=19; -- Azerbajdjan END ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:01 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Eleon1, дал таки человеку гранату. Нафига вам автономная транзакция потребовалась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:05 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Оператор IN AUTONOMOUS TRANSACTION позволяет выполнить оператор или блок операторов в автономной транзакции. Код, работающий в автономной транзакции, будет подтверждаться сразу же после успешного завершения независимо от состояния родительской транзакции. Это бывает нужно, когда определенные действия не должны быть отменены, даже в случае возникновения ошибки в родительской транзакции. Автономная транзакция имеет тот же уровень изоляции, что и родительская транзакция. Любое исключение, вызванное или появившееся в блоке кода автономной транзакции, приведет к откату автономной транзакции и отмене всех внесенных изменений. Если код будет выполнен успешно, то автономная транзакция будет подтверждена. IN AUTONOMOUS TRANSACTION DO BEGIN INSERT INTO LOG(MSG) VALUES ('USER ' || CURRENT_USER || ' REFUSED.'); POST_EVENT 'CONNECTION ATTEMPT' || ' BY BLOCKED USER!'; END -- теперь вызываем исключение EXCEPTION EX_BADUSER; END ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:12 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисEleon1, дал таки человеку гранату. Нафига вам автономная транзакция потребовалась? ... чтобы потом прийти с вопросом о lock conflict on transaction deadlock update conflicts with concurrent update concurrent transaction number N и что делать с этим делать ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:13 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
MNFСимонов ДенисEleon1, дал таки человеку гранату. Нафига вам автономная транзакция потребовалась? ... чтобы потом прийти с вопросом о lock conflict on transaction deadlock update conflicts with concurrent update concurrent transaction number N и что делать с этим делать ))) У меня вопроса нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:16 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Eleon1, ты мне документацию не цитируй. Лучше расскажи о своей задаче ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:17 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Провести update на одной таблице базы данных как программисту, а не пользователю. Старые коды заменить на новые, поэтому много запросов с update. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:20 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Eleon1Провести update на одной таблице базы данных как программисту, а не пользователю. Старые коды заменить на новые, поэтому много запросов с update. Зачем "много запросов с update"? Вы там, в своём MS SQL-е, никогда не слышали про оператор MERGE?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:28 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, в MSSQL кстати (если ты его не попутал с мускулем) MERGE более гибкий, чем в птице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:43 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Ariochв MSSQL кстати (если ты его не попутал с мускулем) MERGE более гибкий Но он вещь относительно новая, поэтому про него мало кто слышал. А так да, "WHEN NOT MATCHED BY SOURCE" вещь довольно интересная. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:57 |
|
||
|
Не работает COMMIT в процедурах
|
|||
|---|---|---|---|
|
#18+
Если в хранимой процедуре нужен набор русских букв в update. update table1 set fam= _ISO8859_1 'Иванов' where id = 1; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 15:36 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38798365&tid=1563215]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 469ms |

| 0 / 0 |
