过程A:  update T_Base_Lot_Send_Bonus
  set F_LotID=10000,F_LotName='任选九场'
  where f_lotid=1 and F_Wtype in (43, 44,123);
  
  v_rownumber := sql%rowcount;
    
  update T_Base_ProJ
  set F_LotteryID=10000,F_LotName='任选九场'
  where F_LotteryID=1 and F_Wtype in (43, 44,123);
--以上两个表的数据只把F_lotteryid更新为10000  而F_LOTNAME 依旧是旧数据
  update T_Base_New_Tared_User
  set F_LottyID=10000, F_LottyName='任选九场'
  where F_LottyID=1 and F_WID in (43, 44,123);
--而这个表就能成功全部更新问题 会不会 过程A更新是 ORACLE 不是锁定一行而是锁定一个字段,先更新完第一个字段,再锁定第二个字段来更新。?因为手工 执行UPDATE语句没问题,特意做了几条数据来测试,手工执行该过程也没问题!怀疑过程B
  update T_Base_ProJ
  set F_Wtype=1,F_WName='复式合买'
  where F_LotteryID=10000 and F_Wtype=43 and F_IsCooperateBuy=1;
  v_rownumber := v_rownumber+sql%rowcount;  update T_Base_ProJ
  set F_Wtype=3,F_WName='单式合买'
  where F_LotteryID=10000 and F_Wtype=44 and F_IsCooperateBuy=1;
  v_rownumber := v_rownumber+sql%rowcount;  update T_Base_ProJ
  set F_Wtype=-1,F_WName='胆拖合买'
  where F_LotteryID=10000 and F_Wtype=123 and F_IsCooperateBuy=1;
  v_rownumber := v_rownumber+sql%rowcount;
--把A过程的条件给更新掉了,所以A过程就没办法更新F_LotName可从日志来看 A过程比B过程先执行,也先执行完!理论上它们时间上没有重叠啊
序号  F_DATE        层次     过程名                            影响行数      开始时间                  结束时间                   运行时间分钟 操作   成功与否
14    2009-07-24 BASE P_BASE_DAY_U_PLAYID   3,2962 2009-07-24 05:42:56 2009-07-24 05:53:10 10          UPDATE 成功
19    2009-07-24 BASE P_BASE_DAY_U_LOTID     4,3357 2009-07-24 05:36:00 2009-07-24 05:42:08 6           UPDATE 成功