我在cmd中试过几次运行这段代码,但是每次它在声明的第1行显示下标超出限制时,我都没有发现任何问题,,我该怎么办?

declare
type namesarray is varray(5) of varchar2(10);
type grades is varray(5) of integer;
names namesarray;
marks grades;
total integer;
begin
names := namesarray('Pronab','Kavita','Pritam','Ayan','Bpl');
marks := grades(96,96,97,93,92,90);
total := names.count;
dbms_output.put_line('Total ' || total || 'Students' );
for i in 1..total loop
dbms_output.put_line('Student: ' || names(i) || 'Marks' || marks(i));
end loop;
end;
/错误:
ORA-06532:下标超出限制 ORA-06512:第1行
发布于 2017-08-12 06:58:26
我相信这句话就是问题所在:
marks := grades(96,96,97,93,92,90);数组级别被定义为长度为5,但您正在尝试插入6个元素。
https://stackoverflow.com/questions/45647181
复制相似问题