■ 중첩 테이블과 테이블 데이터를 병합하는 방법을 보여준다.
▶ 예제 코드 (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 |
-- 작가 중첩 테이블 타입을 생성한다. CREATE TYPE AUTHOR_TABLE_TYPE IS TABLE OF VARCHAR2(100); -- 작가 테이블을 생성한다. CREATE TABLE AUTHOR (NAME VARCHAR2(100)); -- 작가 테이블에 데이터를 추가한다. INSERT INTO AUTHOR VALUES('Robert Harris'); INSERT INTO AUTHOR VALUES('Tom Segev' ); INSERT INTO AUTHOR VALUES('Toni Morrison'); SET SERVEROUTPUT ON; DECLARE -- 작가 중첩 테이블 타입의 변수를 정의하고 초기화 한다. V_AUTHOR_TABLE AUTHOR_TABLE_TYPE := AUTHOR_TABLE_TYPE ( 'Sheri S. Tepper' ,'Orson Scott Card' ,'Gene Wolfe' ); BEGIN -- 작가 중첩 테이블의 데이터와 작가 테이블 데이터를 병합하고 출력한다. FOR AUTHOR_RECORD IN ( SELECT COLUMN_VALUE AS NAME FROM TABLE(V_AUTHOR_TABLE) UNION SELECT NAME FROM AUTHOR ) LOOP DBMS_OUTPUT.PUT_LINE(AUTHOR_RECORD.NAME); END LOOP; END; |