sql_1:select 1 from dual for update;
sql_2:select 1 from dual for update;
sql_3:select 1 from dual for update nowait;
执行sql_1,不提交,表dual被锁
分支1):执行sql_2,sql_2被阻塞,等待sql_1提交
分支2):执行sql_3,因为有nowait,所以立即返回错误信息 "ORA-00054 : 资源正忙,但指定以NOWAIT方式获取资源"
总结:nowait关键字,通知Oracle该sql语句采用非阻塞的方式修改或删除数据,如果发现涉及到的数据被占有(被锁),则立即通知Oracle该资源被占用,返回错误信息
本文介绍SQL语句中NOWAIT关键字的作用及使用场景。当执行带有NOWAIT关键字的更新或删除操作时,如果发现数据已被锁定,则会立即返回错误信息,而非进行等待。这种方式适用于不允许数据操作长时间阻塞的应用场景。
5131

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



