Orale 11g中多表查询时行锁定单个表的问题

sjj3000 2013-07-17 02:56:24
PLSQL中有下面这么一段SQL文,在oracle 10g中能编译成功并运行,但移到11g环境中后,连编译都不通过了。
Select field1,...,fieldN
From table1 t1
inner join table2 t2
on t1.KeyField1 = t2.KeyField1
where t1.keyCondition = ConditionValue1
Order by t1.OrderField
FOR UPDATE OF t2.KeyField

调查了好久也没搞明白,貌似发现11g中不支持FOR UPDATE OF !???为什么呢?

请教一下,怎么在11g中能实现 多表查询中只锁定某一个表!!谢谢了。
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
多壮志 2013-07-17
  • 打赏
  • 举报
回复
贴出编译提示?
sjj3000 2013-07-17
  • 打赏
  • 举报
回复
要是用 ANSI JOIN 呢???
sjj3000 2013-07-17
  • 打赏
  • 举报
回复
上述的SQL文是放在了CURSOR里了。 完整的如下: CURSOR CUR_1 IS Select field1,...,fieldN From table1 t1 inner join table2 t2 on t1.KeyField1 = t2.KeyField1 where t1.keyCondition = ConditionValue1 Order by t1.OrderField FOR UPDATE OF t2.KeyField; 难道是因为在cursor里的缘故?
sjj3000 2013-07-17
  • 打赏
  • 举报
回复
10g正常编译正常运行,SQL不可能错。 到11g就over了
u010412956 2013-07-17
  • 打赏
  • 举报
回复
11g 支持FOR UPDATE OF 你看下是不是其他的原因报错

17,088

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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