我是靠谱客的博主 细腻小蝴蝶,最近开发中收集的这篇文章主要介绍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;

最后

以上就是细腻小蝴蝶为你收集整理的INDEX BY BINARY_INTEGER 说明的全部内容,希望文章能够帮你解决INDEX BY BINARY_INTEGER 说明所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部