BULK COLLECT
BULK COLLECT절은 13장에서 소개한 적이 있는데 이번 절에서 좀더 자세히 알아보자. BULK COLLECT 절은 SELECT INTO 절과 FETCH문에서 사용할 수 있는데, 선택된 결과를 컬렉션 변수에 담을 때 사용한다. 일반적인 SELECT INTO나 FETCH문은 반환 결과를 변수에 넣게 되는데 결과 로우 수가 1개 이상일 때는 컬렉션 변수에 담을 수 있다. 물론 이때 반복문을 사용해 루프를 돌며 컬렉션 변수에 값을 넣어야 한다. 하지만 BULK COLLECT 절을 사용하면 컬렉션 변수에 값을 넣는 부분을 루프 안에 넣을 필요가 없다. 어떤 식으로 동작하는지 직접 확인해 보자.
그 전에 먼저 일괄처리를 위한 대상 테이블이 필요한데 다음과 같이 사원 테이블과 유사한 형태의 emp_bulk 테이블을 만들어 보자.
입력
CREATE TABLE emp_bulk (
bulk_id NUMBER NOT NULL,
employee_id NUMBER(6) NOT NULL,
emp_name VARCHAR2(80) NOT NULL,
email VARCHAR2(50),
phone_number VARCHAR2(30),
hire_date DATE NOT NULL,
salary NUMBER(8,2),
manager_id NUMBER(6),
commission_pct NUMBER(2,2),
retire_date DATE,
department_id NUMBER(6),
job_id VARCHAR2(10),
dep_name VARCHAR2(100),
job_title VARCHAR2(80)
) ;
결과
table EMP_BULK이(가) 생성되었습니다.