첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

■ FORALL 명령을 사용해 레코드 기반 데이터를 추가하는 방법을 보여준다.

 

▶ 예제 코드 (SQL)

-- 직원 테이블을 생성한다.
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;
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요