나는 VARRAY가 있으며 루프를 사용하여이 VARRAY에 요소를 추가하려고합니다. 이것은 내가 지금까지 시도한 것이다. 코드 위루프를 사용하여 VARRAY에 값을 추가하는 방법
DECLARE
TYPE code_array_ IS VARRAY(26) OF VARCHAR2(6);
codes_ code_array_;
BEGIN
FOR i IN 1..26 LOOP
codes_(i) := dbms_random.string('U',6);
END LOOP;
END;
은 나에게 오류를 제공
은 "ORA-06531 : 초기화되지 않은 컬렉션 참조"
중첩 테이블이 아니라 VARRAY가 필요합니까? 26 제한 때문에 압도적으로 유용하기 때문에 중첩 테이블에서 가져 오는 기능이 손실됩니다. –
@William_Robertson VArray는 요소 순서를 유지하지만 중첩 테이블 및 연관 배열은 유지하지 않습니다. 요소 순서가 필요한 응용 프로그램에서는 VARRAY가 유일한 옵션입니다. – JeramieH