■ 중첩 테이블을 테이블 컬럼으로 저장하는 방법을 보여준다.
▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
-- 색상 중첩 테이블 타입을 생성한다. CREATE TYPE COLOR_TABLE_TYPE IS TABLE OF VARCHAR2(30); -- 색상 모델 테이블을 생성한다. CREATE TABLE COLOR_MODEL ( MODEL_TYPE VARCHAR2(10) ,NAME_COLOR_TABLE COLOR_TABLE_TYPE ) NESTED TABLE NAME_COLOR_TABLE STORE AS NAME_COLOR; -- 색상 모델 테이블에 데이터를 추가한다. INSERT INTO COLOR_MODEL VALUES ('RGB', COLOR_TABLE_TYPE('RED', 'GREEN', 'BLUE')); SET SERVEROUTPUT ON; DECLARE -- 색상 중첩 테이블 변수를 정의한다. V_NAME_COLOR_TABLE COLOR_TABLE_TYPE; BEGIN -- 색상 모델 테이블에서 모델 타입이 'RGB'인 레코드를 조회해 색상 중첩 테이블 변수에 설정한다. SELECT NAME_COLOR_TABLE INTO V_NAME_COLOR_TABLE FROM COLOR_MODEL WHERE MODEL_TYPE = 'RGB'; FOR I IN 1..V_NAME_COLOR_TABLE.COUNT LOOP DBMS_OUTPUT.PUT_LINE(V_NAME_COLOR_TABLE(I)); END LOOP; END; /* REG GREEN BLUE */ |