【第22期】观点:IT 行业加班,到底有没有价值?

oracle 集合 index table

原创 2015年07月10日 00:47:44

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常用的复合数据类型 : BULK COLLECT(成批聚合类型)和数组集合type类型is table of 表%rowtype index by binary_integer

例1:批量 查询部门号为"10" 号的并把它们打印出来.DECLARE   TYPE emp_table_type IS TABLE OF my_emp%ROWTYPE INDEX BY BINARY...

数组集合类型 index table

[code="sql"] -- Created on 2010/05/18 by NAN declare -- Local variables here i integer; TYPE t_table IS TABLE OF VARCHAR2(20 ) IN...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

简述Oracle IOT(Index Organized Table)(上)

对关系型数据库产品(RDBMS)而言,一个重要特性就是:数据信息都被组织为二维数据表,信息的表达可以通过一系列的关联(Join)来完成。具体数据库产品在实现这个标准的时候,又有千差万别的特点。就是一个...

简述Oracle IOT(Index Organized Table)

对关系型<span style="

oracle index-by table的遍历

Oracle的数据集合类型,分三种: Varray:固定长度(其他方法可扩展),连续的数组。对应其他程序中的数组。 Nested table:长度不固定,不连续。对应其他程序中的set,list等...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)