您的位置:首页 > 大数据 > 人工智能

select for update nowait 与 select for update 区别

2017-07-02 11:19 597 查看
nowait的含义“不用等待,立即返回”,如果当前请求的资源被其他会话锁定时,会发生阻塞,nowait可以避免这一阻塞!!

 

使用select for update nowait:如果表被其他的用户进程锁了,则会立即返回“ORA-00054:资源正忙,但指定以NOWAIT方式获取资源”

 

使用select for update:如果表被其他的用户进程锁了,则会一直阻塞直到其他的用户进程释放了锁!其实,各数据库的处理机制是不一样的,例如:Mysql的话,会阻塞一段时间,接着抛出以下Error Code:1205异常:

Error Code : 1205
Lock wait timeout exceeded; try restarting transaction
(0 ms taken)


而,Oracle的话,会一直阻塞!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: