oracle - 带有索引的 plsql 表类型正在提示

标签 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;

employees.employee_id的定义是:

EMPLOYEE_ID    NUMBER(6) NOT NULL

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

最佳答案

来自Oracle Documenation:

关联数组

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

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

关于oracle - 带有索引的 plsql 表类型正在提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22715955/

相关文章:

sql - 为什么我的层次结构查询显示重复记录?

sql - 选择其他列值以及 min(salary),其中可能存在重复的工资

sql - 求和年、月、日 - Oracle SQL

Java:检查是否使用 int 和 Integer 设置了属性

java - 参数类型的运算符 < 未定义

types - 我如何才能让 Agda 相信我的函数具有一定的值(value)?

plsql - 在pl/sql中映射数据结构以存储键值对?

database - 甲骨文硬解析

html - 如何从 HTML 中提取链接?

oracle - 如何在Oracle中将临时表转换为永久表,反之亦然