-- Created on 2019/3/28 by IRIS.ZHOU
declare
type lh_sz is table of varchar2(10) index by binary_integer;
type qt_b is table of number(10);
type kb_sz is varying array(20) of number(10) not null;
lh_num lh_sz;
qt_num qt_b:=qt_b(1,2,3,4,5,6,7,88);
kb_num kb_sz:=kb_sz(1,2,3,4,5,6,77);
cnum integer:=1;
cindex constant integer:=1;
begin
/**
dbms_output.put_line('qt_num属性count:'||qt_num.count);
dbms_output.put_line('kb_num最大個數:'||kb_num.limit);
dbms_output.put_line('lh_num最大個數:'||lh_num.limit);
--返回的是數字,即當前集合的第一個和最後一個所在的位置
dbms_output.put_line('qt_num第一個和最後一個:'||qt_num.first||','||qt_num.last);
if not lh_num.exists(cindex) then
lh_num(1):='01';
lh_num(2):='02';
lh_num(3):='03';
lh_num(4):='04';
lh_num(5):='05';
end if;
lh_num.delete(1);
dbms_output.put_line('lh_num属性count:'||lh_num.count);
lh_num.delete(3,4);
dbms_output.put_line('lh_num属性count:'||lh_num.count);
lh_num.delete();
dbms_output.put_line('lh_num属性count:'||lh_num.count);
kb_num.extend();
dbms_output.put_line('kb_num属性count:'||kb_num.count);
kb_num.extend(1);
dbms_output.put_line('kb_num属性count:'||kb_num.count);
kb_num.extend(1,4);
dbms_output.put_line('kb_num属性count:'||kb_num.count);
dbms_output.put_line('kb_num属性count:'||kb_num(kb_num.count));
kb_num.trim();
dbms_output.put_line('kb_num属性count:'||kb_num.count);
kb_num.trim(1);
dbms_output.put_line('kb_num属性count:'||kb_num.count);
-- prior、next在loop 中的應用
for cnum in kb_num.first..kb_num.last loop
dbms_output.put_line('kb_num的上一個值:'||kb_num.prior(cnum));--上一個所在位置個數
dbms_output.put_line('kb_num的下一個值:'||kb_num.next(cnum));--下一個所在位置個數
end loop;
**/
cnum:=kb_num.first;
loop
cnum:=kb_num.next(cnum);
dbms_output.put_line('kb_num的上一個值:'||kb_num.prior(cnum));--上一個所在位置個數
exit when cnum>=kb_num.last;
end loop;
end;