如果添加任何带有空值的整数,Oracle将返回空值,并且在代码中,rUpdated_ROW_COUNT_2对于过程为空,因为在校准时传递的值“1”由于OUT参数将不被接受。否则,您必须将“rUpdated\u ROW\u COUNT\u 2 OUT NUMBER”改为“rUpdated\u ROW\u COUNT\u 2 IN OUT NUMBER”
您的程序代码应为:
create or replace procedure test_proc(rUpdated_Row_Count IN NUMBER, rUpdated_ROW_COUNT_2 OUT NUMBER)
is
max_modified_date date;
v_1 number := 0;
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);
v_1 := v_1 + 1;
end if;
end loop;
rUpdated_Row_Count_2 := v_1;
end;