■ FORALL 명령을 사용해 레코드 기반 데이터를 추가하는 방법을 보여준다.
▶ 예제 코드 (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 TABLE EMPLOYEE ( EMPLOYEE_ID NUMBER(4, 0) ,EMPLOYEE_NAME VARCHAR2(10) ,CONSTRAINT PK_EMPLOYEE PRIMARY KEY (EMPLOYEE_ID) ); DECLARE -- 직원 중첩 테이블 타입을 정의한다. TYPE EMPLOYEE_TABLE_TYPE IS TABLE OF EMPLOYEE%ROWTYPE; -- 직원 중첩 테이블 타입의 변수를 정의하고 초기화 한다. V_EMPLOYEE_TABLE EMPLOYEE_TABLE_TYPE := EMPLOYEE_TABLE_TYPE(); BEGIN -- 직원 중첩 테이블 변수에 데이터를 추가한다. V_EMPLOYEE_TABLE.EXTEND(2); V_EMPLOYEE_TABLE(1).EMPLOYEE_ID := 100; V_EMPLOYEE_TABLE(1).EMPLOYEE_NAME := '홍길동'; V_EMPLOYEE_TABLE(2).EMPLOYEE_ID := 200; V_EMPLOYEE_TABLE(2).EMPLOYEE_NAME := '김철수'; -- 직원 중첩 테이블 변수의 데이터를 직원 테이블에 추가한다. FORALL I IN V_EMPLOYEE_TABLE.FIRST..V_EMPLOYEE_TABLE.LAST INSERT INTO EMPLOYEE VALUES V_EMPLOYEE_TABLE(I); COMMIT; END; -- 직원 테이블 데이터를 조회한다. SELECT * FROM EMPLOYEE; |