В моем блоке PL / SQL есть оператор INSERT, который берет данные из представления и вставляет их в таблицу. Следующее утверждение берет count (*) из этой таблицы, которая только что вставлена с новыми данными.
Между ними не происходит никакой фиксации. Как только счет из этой таблицы будет равен нулю, будет сгенерировано исключение, и программа остановится на этом. последние несколько пробежек. В чем здесь проблема?
Ниже приведен фрагмент кода
delete from table1;
INSERT INTO table1
(lotnum,
sublotnum,
lotcls_code,
lothold_code,
oper_date,
part_id,
stage_id,
site_id,
mfgarea_code,
mfgstg_code,
load_time)
SELECT lotnum,
sublotnum,
lotcls_code,
min(lothold_code) lothold_code,
min(oper_date) oper_date,
part_id,
stage_id,
site_id,
mfgarea_code,
mfgstg_code,
SYSDATE
FROM view1
group by lotnum,
sublotnum,
lotcls_code,
lothold_code,
oper_date,
part_id,
stage_id,
site_id,
mfgarea_code,
mfgstg_code
select COUNT(*) INTO v_no_recs
from table1;
if v_no_recs = 0 then
raise e_zero_rec_exception;
end if;