참고 : http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/collections.htm#sthref1123


  * element 중간에 값이 빠졌을 경우 해결 방법



declare

 TYPE number_table_type IS TABLE OF number

   INDEX BY PLS_INTEGER;


 n number_table_type;

begin


 n(8) := 800;

 n(3) := 300;


 p(n.count);

 p(n.first);

 p(n.last);


 for i in n.first .. n.last loop

   p(n(i));

 end loop;

end;

/

↓ ↓ ↓ 


declare

 TYPE number_table_type IS TABLE OF number

   INDEX BY PLS_INTEGER;


 n number_table_type;

 cnt number;

begin


 n(8) := 800;

 n(3) := 300;

 n(6) := 600;


 cnt := n.first;


 while cnt is not null loop --> not null 조건에 유의

   p(n(cnt));

   cnt := n.next(cnt); --> collection method NEXT

 end loop;


end;

/

'Oracle > PL/SQL' 카테고리의 다른 글

15일차 # nested table 초기화  (0) 2012.04.24
15일차 # 6-26: 추가 BULK COLLECT  (0) 2012.04.24
15일차 # 6-15: PL/SQL Collections  (0) 2012.04.24
15일차 # 6-14: Update with records  (0) 2012.04.24
15일차 # 6-13: Insert with records  (0) 2012.04.24

+ Recent posts