带子查询的SQL语句怎么实现for update 本帖最后由 xuanyuanyilu 于 2010-11-29 16:53:19 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是想在过程中处理吧?定义游标,来实现更新和锁表如:CURSOR cur IS SELECT m.*,s.* FROM ( SELECT * FROM TBL_MAIN WHERE DEAL_FLAG = '0' and rownum<1001 )m , TBL_SUB swhere m.id=s.id for update of s.id ;........ UPDATE ...FROM ... WHERE CURRENT OF cur;........ 你可以尝试不使用子查询,直接做自然连接,然后做for update 这样可以达到锁两个表的目的,你可以尝试调整你的sql 游标这个我真不太熟悉,不知道在IBATIS中是否可行,也不知道效率怎么样 有关oracle给用户创建表的,第三个表创建的时候,有错误,, 一个看起来简单实际上复杂的问题,邀请有兴趣的一起研究,高手直接给语句也可以哈。 数据库查询性能问题:在只遍历一遍数据表的情况下得到两个值的行数的差 SQL 查询 将子查询改连接查询 如何在存储过程执行中,利用dbms_output.put_line输出值? ORACLE备份与恢复 请问如何在ORACLE 9I里导入数据? winProfessional,128内存,装oracle8。1。7能行吗 在ORACLE中如何将字段加密? 求一个应该很常见的SQL~ 如何做SQL嵌套循环
定义游标,来实现更新和锁表
如:
CURSOR cur IS
SELECT m.*,s.* FROM (
SELECT * FROM TBL_MAIN WHERE DEAL_FLAG = '0' and rownum<1001
)m
, TBL_SUB s
where m.id=s.id for update of s.id ;
....
....
UPDATE ...FROM ... WHERE CURRENT OF cur;
....
....
游标这个我真不太熟悉,不知道在IBATIS中是否可行,也不知道效率怎么样