프로 시저 중 하나는 다른 프로 시저를 호출하고 숫자 컬렉션을 전달하는 것입니다. 테이블의 모든 레코드를 처리하지만 한 번에 두 번째 프로 시저에서 처리되는 행 수에 제한을 두려고합니다.호출 된 프로 시저에 전달 된 행 수를 제한하는 방법
아래 코드는 제 코드입니다.
create or replace procedure proc1
is
emp_id dbms_sql.number_table;
begin
select employee_id bulk collect into emp_id from employees;
PROC2(EMP_ID);
end;
/
create or replace
procedure proc2(vin_emp_id dbms_sql.number_table)
is
begin
null;
END ;
어떻게 제한을 정의하고 처리 할 유일한 레코드입니까, 아니면 모든 레코드를 처리 할 때까지 반복 할 것입니까? – BriteSponge
proc2의 모든 레코드를 반복하고 싶지만 한 번에 proc2에서 처리중인 레코드 수를 제한하고 싶습니다. – PTK
'프로 시저 proc1을 만들거나 대체하십시오 는 입니다 emp_id dbms_sql.number_table; 커서 c_emp는 employees에서 employee_id를 선택합니다. v_limi 번호 : = 100; 시작 열기 c_emp; 루프 c_emp 대량 수집을 emp_id 제한으로 가져옵니다. v_limit; PROC2 (EMP_ID); emp_id.count가