FOR UPDATE NOWAIT
BEGIN
SELECT x FROM table FOR UPDATE NOWAIT;
EXCEPTION
WHEN OTHERS THEN
<handle exception>
END;
FOR UPDATE(Wait model)
BEGIN
SELECT x FROM table FOR UPDATE;
EXCEPTION
WHEN OTHERS THEN
<handle exception>
END;

本文介绍在数据库操作中使用 FORUPDATE NOWAIT 和标准 FORUPDATE 的区别及用法。前者尝试立即锁定记录,若无法锁定则抛出异常;后者则等待锁可用。文章通过两个示例展示了这两种不同锁定机制的实现方式。
FOR UPDATE NOWAIT
BEGIN
SELECT x FROM table FOR UPDATE NOWAIT;
EXCEPTION
WHEN OTHERS THEN
<handle exception>
END;
FOR UPDATE(Wait model)
BEGIN
SELECT x FROM table FOR UPDATE;
EXCEPTION
WHEN OTHERS THEN
<handle exception>
END;

1551

被折叠的 条评论
为什么被折叠?