③ EXTEND 메소드

    EXTEND 메소드는 TRIM과는 반대로 VARRAY와 중첩 테이블의 끝에 요소를 추가하는 기능을 수행하며, 다음과 같이 3가지 형태로 사용된다.

        • EXTEND        → 해당 컬렉션의 맨 끝에 NULL인 요소 하나를 추가한다.
        • EXTEND (n)    → 해당 컬렉션의 맨 끝에 값이 NULL인 요소를 n개 추가한다.
        • EXTEND (n, i) → 해당 컬렉션의 i번째에 있는 요소를 맨 끝에 n개 복사해 추가한다.
    

    예제를 통해 동작 방식을 확인해 보자.

    입력

        DECLARE
          -- 중첩 테이블 선언
          TYPE nt_typ IS TABLE OF VARCHAR2(10);
    
          -- 변수 선언
          vnt_test nt_typ;
        BEGIN
          -- 생성자를 사용해 값 할당
          vnt_test := nt_typ('FIRST', 'SECOND', 'THIRD');
    
          -- 맨 끝에 NULL 요소 추가한 뒤 값 할당 후 출력
          vnt_test.EXTEND;
          vnt_test(4) := 'fourth';
          DBMS_OUTPUT.PUT_LINE(vnt_test(4));
    
          -- 맨 끝에 첫 번째 요소를 2개 복사해 추가 후 출력
          vnt_test.EXTEND(2, 1);
          DBMS_OUTPUT.PUT_LINE('첫번째 : ' || vnt_test(1));
    
          -- 첫 번째 요소를 복사해 2개 추가했으므로 추가된 요소는 5, 6
          DBMS_OUTPUT.PUT_LINE('추가한 요소1 : ' || vnt_test(5));
          DBMS_OUTPUT.PUT_LINE('추가한 요소2 : ' || vnt_test(6));
    
        END;
    

    결과

        fourth
        첫번째 : FIRST
        추가한요소1 : FIRST
        추가한요소2 : FIRST
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.