본문 바로가기

SQL

[비공개] Oracle 대용량 insert

-- 대용량 INSERT

DECLARE

TYPE TBL_INS IS TABLE OF [테이블명]%ROWTYPE INDEX BY BINARY_INTEGER;

    W_INS TBL_INS;

BEGIN

FOR I IN 1 .. 10 LOOP

    W_INS(I).[컬럼명]:= I;

        W_INS(I).[컬럼명] := SYSDATE - (interval '1' second)*I;

        ...이런식으로 컬럼에 값 매핑...

    END LOOP;

FORALL I IN 1 .. 10 INSERT INTO [테이블명] VALUES W_INS(I);

    COMMIT;

END;


오라클 레벨업에서 보고 사용해봤습니다.

효과는 내일 더 해본 후에 공개전환하는것으로!