더북(TheBook)

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이(가) 생성되었습니다.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.