我正在使用配置为使用自治事务的 Oracle 存储过程插入一行。我想插入这条记录,提交那个事务,然后锁定新插入的记录,这样除了我当前的 session 之外,没有其他人可以修改它(显然,在另一个事务中,因为插入它的那个是自治的)。
在我有机会对其进行 SELECT...FOR UPDATE
之前,我如何确保没有其他人锁定这条新记录?
使用 Oracle 10g。
最佳答案
不,您永远无法在事务之间保持锁定。您应该问自己的问题是为什么需要在 insert
和 select ... for update
之间发出提交。该行被 insert
锁定;如果您在提交之前完成了对该行所做的任何事情,那么您不必担心重新锁定该行。
关于sql - 如何插入记录并同时锁定该行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3282358/