INDEX BY BINARY_INTEGER 说明

-- 非标号数组
DECLARE
TYPE type_table_list IS TABLE OF VARCHAR2(1024); -- 非标号,需要动态初始化,动态extend
table_list_1 type_table_list;
BEGIN
-- 报错,非标号需要动态初始化,动态extend , 否则会报错
-- table_list_1(1) := '1A';

-- 初始化1, 声明时赋初值, 可以整体赋值,不需要动态extend
-- table_list_1 := type_table_list( '12A', '12B', '12C' );
-- 初始化2
table_list_1 := type_table_list();
table_list_1.extend;
table_list_1(1) := '12A';
table_list_1.extend;
table_list_1(2) := '12B';
table_list_1.extend;
table_list_1(3) := '12C';
FOR i IN table_list_1.first .. table_list_1.last LOOP
dbms_output.put_line(table_list_1(i));
END LOOP;
END;


-- 标号数组
DECLARE
TYPE type_table_list_bi IS TABLE OF VARCHAR2(1024) INDEX BY BINARY_INTEGER; -- 标号数组,不需要动态申请
table_list_bi_1 type_table_list_bi;
lv_list VARCHAR2(1024);
/* 标号数组声明不能整体赋初值,会报错
table_list_bi_1 type_table_list_bi := type_table_list_bi('A','B');
*/
BEGIN
-- 标号数组不需要初始化,下标从1开始
table_list_bi_1(1) := '21A';
-- 并且可以指定下标赋值
table_list_bi_1(10) := '210A';
FOR i IN table_list_bi_1.first .. table_list_bi_1.last LOOP
BEGIN
lv_list := table_list_bi_1(i);
dbms_output.put_line(i || ' : ' || lv_list);
EXCEPTION
WHEN NO_DATA_FOUND THEN
dbms_output.put_line(i || ' : is no data found');
END;
END LOOP;
END;
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值