oracle 集合 index table

1、type index_table_type is table of element_type [not null] index by binary_integer | pls_integer | varchar2

      not null 指定集合对象元素值不允许为空

      index_table 只允许在plsql中使用,下标可以为负数,元素个数没限制

2、 使用例子

--binary_integer | pls_integer
Declare
  Type index_table_type Is Table Of Varchar2(10) Not Null Index By Pls_Integer;
  index_table_obj index_table_type;
  strCur   Varchar2(3);
Begin
  index_table_obj(-1):='北京';
  index_table_obj(0):='上海';
  index_table_obj(1):='广州';
  
  If index_table_obj.count>0  Then 
     dbms_output.put_line('--从第一个元素开始输出');
     strCur:=index_table_obj.first();
     Loop
     dbms_output.put_line(index_table_obj(strCur));
     Exit When strCur=index_table_obj.last();
     strCur:=index_table_obj.next(strCur);
     End Loop;
     
     dbms_output.put_line('--从最后一个元素开始输出');
     strCur:=index_table_obj.last();
     Loop
     dbms_output.put_line(index_table_obj(strCur));
     Exit When strCur=index_table_obj.first();
     strCur:=index_table_obj.prior(strCur);
     End Loop;
  End If;
End;

输出:

--从第一个元素开始输出
北京
上海
广州
--从最后一个元素开始输出
广州
上海
北京


--varchar2
Declare
  Type index_table_type Is Table Of Varchar2(20) Not Null Index By Varchar2(3);
  index_table_obj index_table_type;
  strCur Varchar2(3);
Begin
  index_table_obj('zj'):='浙江';
  index_table_obj('bj'):='北京';
  index_table_obj('sh'):='上海'; 
  
  If index_table_obj.Count>0 Then 
     dbms_output.put_line('--从第一个元素开始输出');
     strCur:=index_table_obj.First();
     Loop
       dbms_output.put_line('下标:'|| strCur||'  值:'||index_table_obj(strCur));
       Exit When strCur=index_table_obj.Last;
       strCur:=index_table_obj.Next(strCur);
     End Loop;
     
     dbms_output.put_line('--从最后一个元素开始输出');
     strCur:=index_table_obj.Last();
     Loop
       dbms_output.put_line('下标:'|| strCur||'  值:'||index_table_obj(strCur));
       Exit When strCur=index_table_obj.First;
       strCur:=index_table_obj.Prior(strCur);
     End Loop;
  End If;
End;

输出:

--从第一个元素开始输出
下标:bj  值:北京
下标:sh  值:上海
下标:zj  值:浙江
--从最后一个元素开始输出
下标:zj  值:浙江
下标:sh  值:上海
下标:bj  值:北京

3、函数说明

    1、Count:返回集合对象元素个数

    2、First():返回集合对象第一个元素的下标

    3、Prior():返回集合对象指定元素的前一个元素的下标

    4、Next():返回集合对象指定元素的后一个元素的下标

    5、Last():返回集合对象最后一个元素的下标


阅读更多
个人分类: oracle
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

oracle 集合 index table

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭