我想锁定Oracle 10g中的一个表,以便过程A必须等到过程B完成更新。我读了一个关于命令锁表的文章,但我不确定其他过程是否在等待锁被要求。还有什么可能是另一个线程在更新进程中调用相同的存储过程B,我猜既然存储过程在单个线程中运行,这也是一个问题吗?
发布于 2015-08-05 10:27:03
您通常不希望在中锁定整个表,当然,通常锁定是一个重要的问题。默认情况下,如果两个会话试图更新同一行,则第二个会话将被“阻塞”,并且必须等待第一个会话提交或回滚其更改。可以使用select with for子句锁定行而不更新它。
与使用由所有会话共享的单个常规表不同,您可以使用一个全局临时表:然后每个会话都有自己的副本。
https://stackoverflow.com/questions/31745010
复制相似问题