下面这个更新是在存储过程的for循环里的。
发现一个问题是,如果对同一条数据进行更新时,有时会更新不上。
麻烦各位帮看一下可能是什么原因
UPDATE CCTR01ST SET ACCUMPT = ACCUMPT + tbl_list.ADDPT, REMAINPT = REMAINPT + tbl_list.ADDPT, SENDFL = 'Y', FDSENDFL = 'Y', UPDID='job_system', UPDDATE=SYSDATE WHERE CSTMNO = tbl_list.CSTMNO;
create or replace procedure chushihua_code11 is
v_code t_bas_sales_department.code%type;
v_fid t_bas_businessdept.fid%type;
cursor cur_track is
select distinct bd.code fcode, bd.fid fid......
答案就在这里:oracle 存储过程循环更新
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
可能这个表被别的用户锁了;
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo, dba_objects ao, v$session sess
where ao.object_id = lo.object_id
and lo.session_id = sess.sid;
--杀掉会话
alter system kill session 'sid,serial#';