我有一个名为 PhoneBook 的表,它具有以下属性:ID、FirstName、LastName。它有 5 条记录我想创建一个 VARRAY 并使用光标将电话簿表中的所有名字提取到 VARRAY 中。这是我的代码:
DECLARE
v_FirstName PHONEBOOK.FIRSTNAME%TYPE;
TYPE arrayNames IS VARRAY(10) OF VARCHAR2(20);
v1 arrayNames;
i INT := 0;
CURSOR c_phonebook IS SELECT FIRSTNAME FROM PHONEBOOK;
BEGIN
v1 := arrayNames();
OPEN c_phonebook;
LOOP
FETCH c_phonebook INTO v_firstname;
v1(i) := v_firstname;
i := i+1;
EXIT WHEN c_phonebook%NOTFOUND;
END LOOP;
CLOSE c_phonebook;
END;/
当我编译这段代码时,它给了我一个错误:
ORA-06532:下标超出限制 ORA-06512:在第 14 行 06532。00000 -“下标超出限制” *原因:下标大于可变数组的限制或可变数组或嵌套表的非正数。*操作:检查程序逻辑并在必要时增加可变数组限制。
请帮我解决这个问题。谢谢你