首页 > 数据库技术 > 详细

Oracle NOWAIT

时间:2014-08-28 13:14:09      阅读:433      评论:0      收藏:0      [点我收藏+]

  原本以为使用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

原文:http://www.cnblogs.com/summerlife/p/3941321.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!