User Tools

Site Tools


kurs:nested_tables_und_collection_operator

This is an old revision of the document!


PROCEDURE COLL_SET_OP
   IS
   cursor c_emp(c_p_salary number) is
   select first_name, last_name, salary from emp
   where salary > c_p_salary;
   
 --  type t_emp is varray(1000) of varchar2(50); --c_emp%rowtype;
  type t_emp is table of varchar2(50); 
   
   a1_emp t_emp := t_emp();
   a2_emp t_emp := t_emp();
 
   a_emp_op t_emp := t_emp();  
   i number := 0;
BEGIN
   for r in c_emp(5000) loop
     i := i+1;
     a1_emp.extend;
     a1_emp(i) := r.last_name;
   end loop;

   i:=0;
   for r in c_emp(10000) loop
     i := i+1;
     a2_emp.extend;
     a2_emp(i) := r.last_name;
   end loop;

   --fetch c_emp bulk collect into a1_emp;
   --fetch c_emp(c_p_salary => 10000) bulk collect into a2_emp;
   
   dbms_output.put_line(cardinality(a1_emp));
   dbms_output.put_line(cardinality(a2_emp));
   
   a_emp_op := a1_emp multiset except a2_emp;
   i:=a_emp_op.first;
   while (i is not null) loop            
   dbms_output.put_line(i ||' '||
                       a_emp_op(i));
                       
   i:=a_emp_op.next(i);
   end loop;                    
END; -- Procedure
kurs/nested_tables_und_collection_operator.1274174146.txt.gz · Last modified: 2014/09/10 21:22 (external edit)