首页 > 代码库 > Oracle NOWAIT
Oracle NOWAIT
原本以为使用NOWAIT命令,可以使当前user忽略其它user对资源施加的锁直接执行,但是查看资料发现,并不是这样,NOWAIT只是检测所需资源是否被其它user锁定, 如果被锁定,无需等待,直接返回以下错误信息,并返回控制权限给当前user.
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
00054. 00000 - "resource busy and acquire with NOWAIT specified"
*Cause: Resource interested is busy.
*Action: Retry if necessary.
例子:
user 1: SELECT * from test_nick FOR UPDATE NOWAIT;--- 执行此语句,锁定表TEST_NICK
user 2: ALTER TABLE TEST_NICK ADD COLUMN4 VARCHAR(10); --执行此语句,user 2 会一直等待user 1释放表锁
user 3: LOCK TABLE TEST_NICK IN EXCLUSIVE MODE NOWAIT; --执行此语句, user 3不会等待user 1释放表锁,直接返回错误信息。
Oracle NOWAIT
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。