概述
-- 非标号数组
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;
最后
以上就是细腻小蝴蝶为你收集整理的INDEX BY BINARY_INTEGER 说明的全部内容,希望文章能够帮你解决INDEX BY BINARY_INTEGER 说明所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复