Я пытаюсь вставить в промежуточную таблицу все данные, которые соответствуют определенным критериям. В этом примере это для любых записей, где дата last_updated наступает позже, чем max_modified_date таблицы. Эта часть работает для меня; однако я добавил степень сложности, приняв параметр IN (любое случайное число) и параметр OUT (число, которое рассчитывается путем добавления «случайного числа» из параметра IN к числу вставленных записей. в моем коде представлена переменная rUpdated_Row_Count_2. Когда я запускаю код, единственное значение, которое сейчас выводится на мою консоль, это «0». Мой код ниже:
create or replace procedure test_proc(rUpdated_Row_Count IN NUMBER, rUpdated_ROW_COUNT_2 OUT NUMBER)
is
max_modified_date date;
BEGIN
select max(modify_dt) into max_modified_date from value;
for rec_ in (
select value_id, modify_dt as last_update
from value
) loop
if rec_.last_update > max_modified_date THEN
insert into table2_test( table2_id, last_update )
values( null, rec_.last_update);
rUpdated_Row_Count_2 := rUpdated_Row_Count_2 + 1;
end if;
end loop;
end;
/
DECLARE
rUpdated_Row_Count number;
rUpdated_Row_Count_2 number := 1;
BEGIN
-- dbms_output.put_line(rUpdated_Row_Count || rUpdated_Row_Count_2);
test_proc(1, rUpdated_Row_Count_2);
dbms_output.put_line(rUpdated_Row_Count || rUpdated_Row_Count_2);
END;
/