0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 5
|
|
1 | |
commit внутри функции plpgsql14.05.2009, 13:24. Показов 9156. Ответов 1
Метки нет (Все метки)
Доброго времени суток!
Столкнулся с проблемой промежуточного commit внутри функции. Есть функция внутри которой огромный цикл по записям в таблице. В цикле выполняется множество insert и update других таблиц. Функция выполняется очень долгое время. Хотелось бы видеть прогресс. Вот поэтому хотел на каждом шаге цикла сделать commit, чтобы видеть как идет выполнение. Поставил commit в самый конец цикла и запустил на выполнение. Сразу же выдает ошибку ERROR: SPI_execute_plan failed executing query "COMMIT": SPI_ERROR_TRANSACTION Подскажите как решить проблему
0
|
14.05.2009, 13:24 | |
Ответы с готовыми решениями:
1
Plpgsql как пользоваться Запрос по plpgsql с курсором Plpgsql . вставка данных из файла Вызов функции внутри другой функции с передачей локальной переменной по ссылке |
Alex_Ora
|
|||||||||||
10.11.2009, 16:15 | 2 | ||||||||||
В принципе, слишком частый commit в цикле веде к ошибке ORA-1555.
Чем выше частота commit-ов, тем скорее extent в rollback segment-е будет очищен для новой транзакции, что и приведет к ошибке ORA-1555. Идея решения проста :
Если и это не поможет, надо увеличить rollback segment-ы. |
10.11.2009, 16:15 | |
10.11.2009, 16:15 | |
Помогаю со студенческими работами здесь
2
Динамическое выделение памяти внутри функции (что вернуть из функции, если не удалось выделить память?) Почему выделенная внутри функции память удаляется после возврата функции? Это можно исправить? Функция ЕСЛИ внутри функции ИЛИ внутри ЕСЛИ Добавление Commit Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |