powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не работает COMMIT в процедурах
25 сообщений из 27, страница 1 из 2
Не работает COMMIT в процедурах
    #38798283
Eleon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Помогите пожалуйста.
В хранимой процедуре не работает commit.

update table1 set field1=1;
commit;

В редакторе SQL все работает.
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798292
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eleon1,

У вас большой пробел в понимании сути транзакций.
Подтверждение или отмена транзакций производится клиентом, и в процедуре быть не может.
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798294
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eleon1Помогите пожалуйста.
http://www.firebirdsql.org/file/documentation/reference_manuals/Firebird-Language-Reference-Russian.pdf
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798348
Eleon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, спасибо за хоршую книгу.

В хранимой процедуре также не разрешается делать комментарии на русском языке, только в транслитерации.
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798349
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eleon1В хранимой процедуре также не разрешается делать комментарии на русском языке, только в транслитерации.
Кто сказал?
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798351
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery,

а commit retaining ?

ну или хотя бы savepoint
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798353
Eleon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WildSery, а update нельзя разве завершить commit.
Как тогда подтвердить транзакцию?
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798357
Eleon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman, при компиляции выдает ошибку и все русские комментарии приходится менять на транслитерацию.
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798362
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Eleon1!
You wrote on 7 ноября 2014 г. 12:24:01:

Eleon1> wadman, при компиляции выдает ошибку и все русские комментарии
> приходится менять на транслитерацию.
1. неправильный инструмент разработки.
2. неправильный чарсет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798364
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eleon1,

процедура сама работает внутри транзакции.
замершать транзакцию изнутри - примерно то же самое, что выворачивать себя наизнанку.

Но *могут* сработать (или не сработать - читайте документацию или пробуйте)

COMMIT RETAINING

SAVEPOINT

AUTONOMOUS TRANSACTION
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798365
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eleon1при компиляции выдает ошибку
какую ошибку?

Eleon1Как тогда подтвердить транзакцию?
зачем вам в процедуре "подтверждать" транзакцию, если вы ее там не начинали? Вам же сказали, на клиенте транзакция стартует, и на клиенте завершается по commit или rollback.
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798395
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochEleon1,

Но *могут* сработать (или не сработать - читайте документацию или пробуйте)

COMMIT RETAINING - не может

SAVEPOINT - точки сохранения только неявные, напрямую не объявляются

AUTONOMOUS TRANSACTION - это может
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798406
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eleon1при компиляции выдает ошибку и все русские комментарии приходится менять на
транслитерацию.
FAQ раз
FAQ два
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798418
Eleon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, спасибо за помощь.

Так работает.

IN AUTONOMOUS TRANSACTION DO
BEGIN
update table1 set State=31 where State=19; -- Azerbajdjan
END
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798424
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eleon1,

дал таки человеку гранату. Нафига вам автономная транзакция потребовалась?
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798435
Eleon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Оператор 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
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798441
Фотография MNF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисEleon1,

дал таки человеку гранату. Нафига вам автономная транзакция потребовалась?

... чтобы потом прийти с вопросом о

lock conflict on transaction
deadlock
update conflicts with concurrent update
concurrent transaction number N

и что делать с этим делать )))
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798445
Eleon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MNFСимонов ДенисEleon1,

дал таки человеку гранату. Нафига вам автономная транзакция потребовалась?

... чтобы потом прийти с вопросом о

lock conflict on transaction
deadlock
update conflicts with concurrent update
concurrent transaction number N

и что делать с этим делать )))

У меня вопроса нет.
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798446
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eleon1,

ты мне документацию не цитируй. Лучше расскажи о своей задаче
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798450
Eleon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Провести update на одной таблице базы данных как программисту, а не пользователю. Старые коды заменить на новые, поэтому много запросов с update.
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798476
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eleon1Провести update на одной таблице базы данных как программисту, а не
пользователю. Старые коды заменить на новые, поэтому много запросов с update.
Зачем "много запросов с update"? Вы там, в своём MS SQL-е, никогда не слышали про оператор
MERGE?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798496
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

в MSSQL кстати (если ты его не попутал с мускулем) MERGE более гибкий, чем в птице
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798514
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochв MSSQL кстати (если ты его не попутал с мускулем) MERGE более гибкий

Но он вещь относительно новая, поэтому про него мало кто слышал. А так да, "WHEN NOT
MATCHED BY SOURCE" вещь довольно интересная.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798641
Eleon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если в хранимой процедуре нужен набор русских букв в update.

update table1 set fam= _ISO8859_1 'Иванов' where id = 1;
...
Рейтинг: 0 / 0
Не работает COMMIT в процедурах
    #38798663
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eleon1,

надо было базу сразу с нормальной кодировкой создавать. И подключаться с нормальной кодировкой.
Тогда бы не пришлось изобретать проктостоматологию.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не работает COMMIT в процедурах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]