Мне нужно обновить таблицу ORA с двумя столбцами CLOB.
Я нашел много решений для этого (одно с select x, y into x_loc, y_loc from table for update
, а затем dbms_lob.write()
+ commit
), но я понял, что это так же просто, как и должно быть:
UPDATE table SET
clob1 = TO_CLOB(VARCHAR2_VALUE),
clob2 = TO_CLOB(VARCHAR2_VALUE)
WHERE condition
После выполнения этого запроса из приложения PHP я столкнулся со странным поведением, когда я не могу выполнить какое-либо другое обновление для этой таблицы (и/или конкретной строки) - приложение просто зависает прямо при другом обновлении (подтверждено отладкой). При попытке выполнить запрос на обновление с помощью sqldeveloper
кажется, что проблемы с блокировкой нет.
Есть ли вероятность того, что таблица/строка осталась заблокированной после обновления CLOB? Должен ли я сделать/сделать фиксацию после обновления CLOB с использованием данного запроса на обновление? Как я могу снять эту блокировку, если она есть?
Большое спасибо за Ваши ответы!