我需要用两个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