- 论坛徽章:
- 0
|
是可以不用循环做。但是,为什么出现no_data_found感觉很奇怪!
自己写的insert into lc_111 (acc_nbr,serv_id) values (c1.acc_nbr,v_serv_id);
也只是为了看看能不能执行成功。
写这个程序是为了update表lc_wy_temp1 ;
如果过程这样写,就没问题!
--------
create or replace procedure wy_temp1_pro
is
v_cnt number:=0;
v_createidx varchar2(500);
cursor wy_1 is SELECT acc_nbr,ROWID FROM WY_temp1 WHERE flag is NULL;
begin
for c1 in wy_1 loop
v_cnt:=0;
UPDATE WY_temp1 a SET
(serv_id,flag)
=
(SELECT serv_id,1
FROM serv_t@to_sidsvc2
WHERE acc_nbr=c1.acc_nbr AND partition_id_region=1018
AND state='F0A')
WHERE ROWID=c1.ROWID;
v_cnt := v_cnt+1;
IF v_cnt=100 THEN
BEGIN
v_cnt:=0;
COMMIT;
END;
END IF;
END LOOP;
COMMIT;
v_createidx:='create index idx_wytemp1a on wy_temp1(serv_id)';
execute immediate v_createidx;
end ;
----------搞不懂为什么会出现:符合partition_id_region=1018 and state='F0A' AND acc_nbr=c1.acc_nbr的行不存在 |
|