powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Commit transaction из Pl/pgSQL - как?
5 сообщений из 5, страница 1 из 1
Commit transaction из Pl/pgSQL - как?
    #33052014
Фотография mef
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришлось мне написать простую ХП (напр. test() ) для тестирования другой ХП (напр. main() ). То есть просто в цикле LOOP запускаю main() 1000 раз и всё.
Так вот, для сервера вызов test() - одна транзакция, до окончания которой результаты каждой main() после итерации LOOP мне не видны. Установка блоков "begin - commit" внутри
main() не помогает, внутри test() - не даёт постгрес, говорит что для Pl/PG commit нельзя использовать.
Думаю решение-то простое, но с постгресом работаю недавно и, видимо, чего-то не догоняю. Может кто подскажет? Спасибо заранее.
...
Рейтинг: 0 / 0
Commit transaction из Pl/pgSQL - как?
    #33052101
wbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотри в сторону transaction_mode в
BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]

и соооветственно
BEGIN ... ;
select * from test();
END;
...
Рейтинг: 0 / 0
Commit transaction из Pl/pgSQL - как?
    #33054008
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
commito'в в ХП в PostgreSQL нет

если не веришь ищи в доке про транзакции
...
Рейтинг: 0 / 0
Commit transaction из Pl/pgSQL - как?
    #33054010
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
35.11. Porting from Oracle PL/SQL

Example 35.5. Porting a Procedure from PL/SQL to PL/pgSQL
...
Рейтинг: 0 / 0
Commit transaction из Pl/pgSQL - как?
    #33061766
Фотография mef
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего-то я не догоняю всё-таки. Неужели невозможно сделать так, чтобы изменения, сделанные по ходу выполнения ХП стали видны другим процессам до окончания работы ХП?
То есть если последовательность такая:
begin
Insert N1;
Insert N2;
Insert N3;
end;
то пока не ХП не отработает полностью, Insert N2 (например) я не смогу сделать видимым для других? Если нельзя на Pl/pg то на чём можно?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Commit transaction из Pl/pgSQL - как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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