참고 : 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 |