반응형
ORA-06532: 구독이 제한을 벗어남
세컨드 블록이 송구 오류인데 첫번째 블록이 실행되는 이유를 이해할 수 있도록 도와주세요.두 곳 모두 한계치가 선언된 크기(41)보다 작습니다.
Declare
Type typ_int_array IS VARRAY(41) OF NUMBER;
v_typ_int_array typ_int_array := typ_int_array(10,20,30,40);
BEGIN
SYS.DBMS_OUTPUT.PUT_LINE(v_typ_int_array(1));
v_typ_int_array.extend(6);
v_typ_int_array(6) := 60;
END;
Declare
Type typ_int_array IS VARRAY(41) OF NUMBER;
v_typ_int_array typ_int_array := typ_int_array(10,20,30,40);
BEGIN
SYS.DBMS_OUTPUT.PUT_LINE(v_typ_int_array(1));
v_typ_int_array.extend(38);
v_typ_int_array(38) := 60;
END;
예외:
**Error :**
Error report -
ORA-06532: Subscript outside of limit
ORA-06512: at line 6
06532. 00000 - "Subscript outside of limit"
*Cause: A subscript was greater than the limit of a varray
or non-positive for a varray or nested table.
*Action: Check the program logic and increase the varray limit
if necessary.
10
에 대한 논쟁.extend
최종 크기가 아닌 배열에 추가할 항목 수입니다.
원래의 4에 38을 더하면, 41보다 확실히 큰 42가 나옵니다.음, 제가 학교에 갔을 때였는데, 만약 그들이 그것을 제정했다면 제가 그런 변화에 대해 들었을 거라고 확신합니다 :-)
첫 번째 것은 6에서 4를 더하면 41이라는 한계 아래인 10만 얻을 수 있기 때문입니다.
varray size를 41로 선언했습니다. 그러면 이미 4개의 값을 시작했습니다. 그러면 38을 확장합니다. 즉, 이미 시작된 값 (4) + 확장된 값 (38) =42 > 41 입니다. 그래서 그 이유입니다.
언급URL : https://stackoverflow.com/questions/24463919/ora-06532-subscript-outside-of-limit
반응형
'programing' 카테고리의 다른 글
jQuery를 자바스크립트로 로드하고 jQuery를 사용합니다. (0) | 2023.10.06 |
---|---|
x64 플랫폼에서 실행할 단위 테스트를 받으려면 어떻게 해야 합니까? (0) | 2023.10.06 |
올바른 폴더 경로로 pom.xml의 mainClass를 추가할 수 있습니다. (0) | 2023.10.06 |
"전제조건"과 "주장"의 차이점은? (0) | 2023.10.06 |
Kubernetes 비밀 해독 (0) | 2023.10.06 |