RE: Arrays in pl/sql using %rowtype

"David, Romeo B. (Govt)" <[email protected]> Wed, 19 Mar 2003 13:47:11 -0500
Newsgroups gmane.comp.db.oracle.devel
Message-ID <LYRIS-1796914-919005-2003.03.19-18.45.40--gcdod-oracle#[email protected]>
From AskTom.com:
ops$tkyte@8i> create or replace package demo_pkg
  2  as
  3      type empArray is table of emp%rowtype index by binary_integer;
  4  
  5      type charArray is table of varchar2(255) index by binary_integer;
  6  
  7  
  8      procedure emp_report( p_inputs in empArray );
  9  
 10      procedure emp_report( p_empno  in charArray,
 11                            p_deptno in charArray,
 12                            p_sal    in charArray,
 13                            p_job    in charArray );
 14  
 15  end;
 16  /

Package created.

ops$tkyte@8i> 
ops$tkyte@8i> 
ops$tkyte@8i> 
ops$tkyte@8i> create or replace package body demo_pkg
  2  as
  3      procedure emp_report( p_inputs in empArray )
  4      is
  5       loop;
 10      end;
 11  
 12  
 13      procedure emp_report( p_empno  in charArray,
 14                            p_deptno in charArray,
 15                            p_sal    in charArray,
 16                            p_job    in charArray )
 17      is
 18      begin
 19          for i in 1 .. p_empno.count loop
 20              dbms_output.put_line( 'Empno = ' || p_empno(i) ||
 21                                    ' Deptno = ' || p_deptno(i) );
 22          end loop;
 23      end;
 24  
 25  
 26  
 27  end;
 28  /

Package body created.

ops$tkyte@8i> 
ops$tkyte@8i> set serveroutput on
ops$tkyte@8i> declare
  2      my_data   demo_pkg.empArray;
  3  begin
  4      my_data(1).empno := 1234;
  5      my_data(1).deptno := 10;
  6  
  7      my_data(2).empno := 4567;
  8      my_data(2).deptno := 20;
  9  
 10      demo_pkg.emp_report( my_data );
 11  end;
 12  /
Empno = 1234 Deptno = 10
Empno = 4567 Deptno = 20

PL/SQL procedure successfully completed.

ops$tkyte@8i> 
ops$tkyte@8i> declare
  2      my_empnos   demo_pkg.charArray;
  3      my_deptno   demo_pkg.charArray;
  4      empty       demo_pkg.charArray;
  5  begin
  6      my_empnos(1) := 1234;
  7      my_deptno(1) := 10;
  8  
  9      my_empnos(2) := 4567;
 10      my_deptno(2) := 20;
 11  
 12      demo_pkg.emp_report( my_empnos, my_deptno, empty, empty );
 13  end;
 14  /
Empno = 1234 Deptno = 10
Empno = 4567 Deptno = 20

PL/SQL procedure successfully completed.





-----Original Message-----
From: Rajiv Khatri [mailto:[email protected]]
Sent: Monday, March 10, 2003 10:58 PM
To: Oracle
Subject: [oracle] Arrays in pl/sql using %rowtype


Can anyone send me an example of how to use and array of %Rowtype in
pl/sql.?
Rajiv



---
Change your mail options at http://p2p.wrox.com/manager.asp or 
to unsubscribe send a blank email to %%email.unsub%%.


---
Change your mail options at http://p2p.wrox.com/manager.asp or 
to unsubscribe send a blank email to [email protected].