Oracle PL/SQL (4) - 索引表INDEX BY BINARY_INTEGER 的使用
发布网友
发布时间:2022-11-30 08:59
我来回答
共1个回答
热心网友
时间:2023-11-03 01:27
Oracle PL/SQL语言中索引表相当于JAVA中的数组,可以保存多个数据,并通过下标来访问。不同的是,索引表的下标可以是整数也可以是负数或字符串,索引表无需初始化,可以直接为指定索引赋值,开辟的索引表的索引不一定必须连续。
1、索引表的定义语法
例如:
IS TABLE OF 相当于是数组,这里定义了一个数组类型info_index ;
VARCHAR2(20) 定义数组里面只能放字符串
INDEX BY BINARY_INTEGER 定义数组下标是整数
输出结果:
AAA
BBB
2、定义type型的索引表
使用IS TABLE OF获取同一事故下所有定损单的定损单号、定损金额。
输出结果:
定损单号:claim01定损总金额:73446
定损单号:claim01_01定损总金额:128327
3、定义rowtype 型的索引表
例如:使用IS TABLE OF获取所有公司信息。
输出结果:
公司code:10001400 公司名称:总公司 公司等级:1
公司code:205 公司名称:深圳分公司 公司等级:2
公司code:333 公司名称:测试分公司 公司等级:2
4、使用记录类型操作索引表
输出结果:
事故号:1111111 定损总金额:111 任务分配时间:2019-02-26
使用记录类型操作索引表,输出某个下标的结果
输出结果:
公司code:10001 公司名称:总公司 公司等级:1
使用记录类型操作索引表,输出所有下标结果
输出结果:
公司code:10001 公司名称:总公司 公司等级:1
公司code:333 公司名称:测试分公司 公司等级:2
5、多级索引表
输出结果:
显示二维索引表的所有元素:
nvl(1,1)=10
nvl(1,2)=5
nvl(2,1)=100
nvl(2,2)=50