错误码:-7195
错误内容:收集扩展超出上限
--创建测试表
drop table t1
create table t1(id number,name varchar2(20));
insert into t1 select level,dbms_random.string('l',4) from dual connect by rownum<=11;
commit;
--问题过程
[执行语句1]:
DECLARE
TYPE ARR IS VARRAY(10) OF NUMBER;
VAR_A ARR;
BEGIN
SELECT ID BULK COLLECT INTO VAR_A FROM T1;
FOR I IN 1..VAR_A.COUNT LOOP
PRINT VAR_A(I);
END LOOP;
END;
执行失败(语句1)
-7195: 收集扩展超出上限
-7195: anonymous block line -1
varray只定义了10的数组长度,但 t1有11条记录,需要调大数组精度上限
[执行语句1]:
DECLARE
TYPE ARR IS VARRAY(11) OF NUMBER;
VAR_A ARR;
BEGIN
SELECT ID BULK COLLECT INTO VAR_A FROM T1;
FOR I IN 1..VAR_A.COUNT LOOP
PRINT VAR_A(I);
END LOOP;
END;
执行成功, 执行耗时1毫秒. 执行号:6786
1
2
3
4
5
6
7
8
9
10
11
影响了11条记录
1条语句执行成功
文章
阅读量
获赞