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的语法,从来没有提到过还有版本限制。
...全文
306 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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/
优雅刺客 2012-07-10
  • 打赏
  • 举报
回复
提示SQL没正确结束,如果语句和执行工具都一样,那应该是版本的问题了。。。

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧