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
반응형
그리드형(광고전용)
'Database > Oracle' 카테고리의 다른 글
[DATABASE/ORACLE] GRANT 명령 : 계정 권한 부여하기 (0) | 2020.02.01 |
---|---|
[DATABASE/ORACLE] CONNECT 명령 : 계정 생성 확인하기 (0) | 2020.02.01 |
[DATABASE/ORACLE] SELECT ~ BULK COLLECT INTO문 사용하기 (0) | 2019.11.04 |
[DATABASE/ORACLE] 커서 속성 (0) | 2019.11.04 |
[DATABASE/ORACLE] FORALL ~ UPDATE ~ RETURNING ~ BULK COLLECT INTO문 사용하기 (0) | 2019.11.04 |
[DATABASE/ORACLE] DML 명령문 : RETURNING 키워드 사용하기 (0) | 2019.11.04 |
[DATABASE/ORACLE] SQL%ROWCOUNT 암시적 커서 속성 사용하기 (0) | 2019.11.04 |
[DATABASE/ORACLE] SQL%FOUND 암시적 커서 속성 사용하기 (0) | 2019.11.04 |
[DATABASE/ORACLE] DML문의 암시적 커서 속성 (0) | 2019.11.04 |
[DATABASE/ORACLE] INSERT INTO ~ SELECT ~ FROM 명령 : 데이터 추가하기 (0) | 2019.11.03 |
댓글을 달아 주세요