【问题标题】:Key-value map in pl/sql using number as indexpl/sql中使用数字作为索引的键值映射
【发布时间】:2021-11-04 01:46:59
【问题描述】:
我想在地图中存储数字值,索引也应该是数字类型。我该如何实现?
所以不要这样:
TYPE number_list IS TABLE of NUMBER(38) INDEX BY varchar(22);
我想这样写:
TYPE number_list IS TABLE of NUMBER(38) INDEX BY NUMBER(38);
但是 plsql 说,那是不支持的表索引类型。我该如何解决这个问题?谢谢!
【问题讨论】:
标签:
dictionary
indexing
plsql
types
key-value
【解决方案1】:
您正在尝试创建associative array(Oracle 集合)。对于数字索引,您需要指定索引 binary_integer 或 pls_integer
对于关联数组(也称为索引表),使用
语法:
TYPE type_name IS TABLE OF element_type [NOT NULL] INDEX BY
[二进制整数 | PLS_INTEGER | VARCHAR2(size_limit)];索引
key_type;
key_type 可以是数字,BINARY_INTEGER 或 PLS_INTEGER。