declare
CURSOR C1
IS select tgt.exp_date ,(src.eff_date - 1/(24*60*60))eff_date
from mira_rate tgt,mira_rate_dummy src
where src.tc_code = tgt.tc_code and src.carrier_code = tgt.carrier_code and tgt.exp_date is null for update of tgt.exp_date;
v_a date;
v_b date;
i number:=0;
begin
open c1;
loop
fetch c1 into v_a, v_b;
exit when c1%notfound;
update mira_rate
set exp_date =v_b where current of c1;
i:=i+1;
end loop;
dbms_output.put_line(i||' rows updated');
close c1;
commit;
end;
クエリを実行した後、テーブルをロックしています
ORA-00054: リソースがビジーで、NOWAIT を指定して取得しています
また、ロックを削除する方法を教えてください。セッションを強制終了しようとしましたが、発生していません。それでも同じと言われます
ロック解除後。この要件をクリアしてください
select tgt.exp_date ,(src.eff_date - 1/(24*60*60))eff_date
from mira_rate tgt,mira_rate_dummy src
where src.tc_code = tgt.tc_code and src.carrier_code = tgt.carrier_code and tgt.exp_date is null;
mira_rate テーブルに移動して exp_date=eff_date を更新する必要があります。
Oracle 9iを使用してimを実行する方法を教えてください。一致しないマージが機能しています