如何插入记录并同时锁定该行?

aw *_*rud 4 sql oracle plsql locking

我正在使用配置为使用自治事务的Oracle存储过程插入一行.我想插入此记录,提交该事务,然后锁定新插入的记录,以便除了当前会话之外没有其他人可以修改它(在另一个事务中,显然,因为插入它的是自治的).

在我有机会之前,如何确保没有其他人锁定此新记录SELECT...FOR UPDATE

使用Oracle 10g.

All*_*lan 10

不,您永远不能在事务之间保持锁定.你应该问自己的问题是为什么你需要在insert和之间发出提交select ... for update.该行被锁定insert; 如果您在提交之前完成了对该行所做的任何操作,那么您不必担心重新锁定该行.