nowait.txt
来自「orale培训教材包括了所有的sql说明和实例」· 文本 代码 · 共 38 行
TXT
38 行
ORA-00054 resource busy and acquire with NOWAIT specified
Cause: The NOWAIT keyword forced a return to
the command prompt because a resource was unavailable for
a LOCK TABLE or SELECT FOR UPDATE command.
Action: Try the command after a few minutes or
enter the command without the NOWAIT keyword.
使用NOWAIT将立刻返回一个错误信息,控制权回到用户。
不用NOWAIT,则LOCK住,控制权不会用户直到其它SESSION COMMIT!
--sqlplus1
lock table a in share mode;
--sqlplus2
declare
begin
lock table a in row exclusive mode nowait;
insert into a values ('9');
end;
ERROR 位于第 1 行:
ORA-00054: 资源正忙,要求指定 NOWAIT
ORA-06512: 在line 4
--出现如下err信息,不被lock住。控制立刻返回用户。
declare
begin
--lock table a in row exclusive mode nowait;
insert into a values ('9');
end;
----没err信息,被lock住。
结论:在lock机制中,可以用lock table table名 in .. mode nowait使数据并发冲突
时控制立刻返回用户。
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?