oracle 中 lock table的问题

hgamezoom 2012-07-10 04:36:15
我在Oracle10.2.0.4版本中使用以下语句锁表:
lock table tbl_lock in exclusive mode nowait 正常

加个时间
lock table tbl_lock in exclusive mode wait 5
就会报错 ORA-00933:SqlCommand not properly ended;

但是在Oracle11G中以上2个语句都可以顺利运行,这是什么道理?

难道oracle10g只允许nowait的写法?我查了lock的语法,从来没有提到过还有版本限制。
...全文
224 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
小德 2012-07-11
沿用别人的话:
在Oracle 11前的版本中,当发出一个LOCK TABLE命令时,如果正好有其他session对这个表持有了锁,这时会无限期的等待或是直接不等待(NOWAIT clause )返回一个错误。在11g中,新增的wait option允许一个lock table操作等待一段时间去获取需要的lock直到timeout返回错误,如果在wait的时间段内获得了需要的lock,命令将成功执行。

可参考博文
http://blog.itpub.net/post/11835/474251/
回复
Shurik 2012-07-10
提示SQL没正确结束,如果语句和执行工具都一样,那应该是版本的问题了。。。
回复
相关推荐
发帖
基础和管理
创建于2007-09-28

1.7w+

社区成员

Oracle 基础和管理
申请成为版主
帖子事件
创建了帖子
2012-07-10 04:36
社区公告
暂无公告