plsql 表类型的索引有问题

Cur*_*ous 3 oracle types plsql

Pl/SQL:意图:我的意图是通过使用键作为employee_id来访问定义为下面的光标的雇员元组对象。

问题:我创建了一个游标 - *l_employees_cur* 并想要创建如下类型 *l_employees_t* 的类型表,如下所示,但编译器抱怨说PLS-00315 实现限制不支持表索引类型。

CURSOR l_employees_cur
  IS
    SELECT employee_id,manager_id,first_name,last_name FROM employees;
type l_employees_t
IS
  TABLE OF l_employees_cur%rowtype INDEX BY employees.employee_id%TYPE;
Run Code Online (Sandbox Code Playgroud)

的定义employees.employee_id是:

EMPLOYEE_ID    NUMBER(6) NOT NULL
Run Code Online (Sandbox Code Playgroud)

为什么我不能这样做?还是我做错了什么?

Old*_*mer 5

来自Oracle 文档:

关联数组

关联数组(以前称为 PL/SQL 表或索引表)是一组键值对。每个键都是一个唯一索引,用于通过语法variable_name(index)来定位关联的值。

索引的数据类型可以是字符串类型,也可以是PLS_INTEGER。索引按排序顺序存储,而不是按创建顺序存储。对于字符串类型,排序顺序由初始化参数NLS_SORT和NLS_COMP决定。