我需要用兩個CLOB列更新ORA表。ORACLE更新兩個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更新後做/提交嗎? 如何釋放此鎖?
非常感謝您的回答!
承諾 - 使用承諾 – iddqd 2012-04-26 12:29:23
@iddqd請把它放在一個完整的句子中,並將其作爲答案發布,以便我可以接受您的答案。當然,單獨做一個COMMIT之後會發佈一個表格;-)謝謝! – shadyyx 2012-04-26 12:34:05