Une procédure appelle une autre procédure et transmet une collection de nombres. Je veux traiter tous les enregistrements de la table, mais mettre une limite sur le nombre de lignes traitées dans la deuxième procédure en une seule fois.Comment limiter le nombre de lignes passées à une procédure appelée
Voici mon code.
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 ;
Comment voulez-vous définir cette limite et sont-ils les seuls enregistrements que vous allez traiter ou voulez-vous boucler jusqu'à ce que vous ayez traité tous les enregistrements? – BriteSponge
souhaitez boucler tous les enregistrements dans proc2 mais souhaitez limiter le nombre d'enregistrements en cours de traitement dans Proc2 en une seule fois. – PTK
'créer ou remplacer la procédure proc1 est emp_id dbms_sql.number_table; curseur c_emp est sélectionné employee_id des employés; v_limi nombre: = 100; commencer ouvrir c_emp; boucle aller chercher c_emp bulk collect dans emp_id limite v_limit; PROC2 (EMP_ID); quitter lorsque emp_id.count