투케이2K

149. (Oracle/오라클) table of 사용해 배열 생성 , 데이터 삽입 , for 구문 사용해 출력 실시 - 중첩 테이블 본문

OracleDB

149. (Oracle/오라클) table of 사용해 배열 생성 , 데이터 삽입 , for 구문 사용해 출력 실시 - 중첩 테이블

투케이2K 2021. 9. 3. 08:18

[개발 환경 설정]

개발 툴 : Toad

개발 언어 : Oracle


[소스 코드]

DECLARE
         
    /*
    [table of 사용해 배열 생성 , 데이터 삽입 , for 구문 사용해 출력 실시] 
    1. 중첩 테이블 : 인덱스는 양의 정수 1부터 시작, 생성자 사용, 저장 갯수 제한 없음 
    2. 데이터 타입 : number , varchar2(100) ...
    3. extend : 초기 배열 저장 공간 지정 및 저장 공간울 확장 할 수 있습니다
    */
    
    -- [중첩 테이블 전역 변수 선언]   
    type createArray is table of number; 
    
    -- [중첩 테이블 타입의 변수 선언]
    arr_data createArray;


BEGIN

    -- [중첩 테이블 생성자 호출 및 초기화 실시]
    arr_data := createArray(); -- 일반 생성 방식
    -- arr_data := createArray(100, 200); -- 데이터 삽입 하면서 생성 방식
    
    
    -- [중첩 테이블 저장 공간 지정 (extend)]
    arr_data.extend(3);  
        
                                              
    -- [인덱스 지정 및 중첩 테이블에 값 추가]        
    arr_data(1) := 100;
    arr_data(2) := 200;
    arr_data(3) := 300;
    
    
    -- [필요시 extend 사용 공간을 늘린 후 > 추가로 저장 가능]
    arr_data.extend(2);
    arr_data(4) := 400;
    arr_data(5) := 500;
    
    
    -- [for 구문을 사용해 중첩 테이블에 저장된 값들을 출력]
    for i in 1 .. arr_data.count loop
        DBMS_OUTPUT.PUT_LINE('============================='); 
        DBMS_OUTPUT.PUT_LINE(i||' :  '|| arr_data(i)); 
        DBMS_OUTPUT.PUT_LINE('=============================');         
    end loop;
    
END;
/

[결과 출력]


[요약 설명]

/*

[table of 사용해 배열 생성 , 데이터 삽입 , for 구문 사용해 출력 실시]

1. 중첩 테이블 : 인덱스는 양의 정수 1부터 시작, 생성자 사용, 저장 갯수 제한 없음

2. 데이터 타입 : number , varchar2(100) ...

3. extend : 초기 배열 저장 공간 지정 및 저장 공간을 확장 할 수 있습니다

*/


 

반응형
Comments