더북(TheBook)

③ 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
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.